Avatar billede Slettet bruger
25. september 2001 - 22:09 Der er 8 kommentarer og
1 løsning

Banner kliks

Jeg har lavet et banner system som trækker et tilfældigt banner ud fra MySQL database, banner. Nu vil jeg gerne have at der bliver lagt +1 til \"kliks\" når der trykkes på banneret.
Koden er her:
<?
$db = mysql_connect(\"xxx\",\"xxx\",\"xxx\");
mysql_select_db(\"xxx\",$db);
$foresp = mysql_query(\"SELECT nr,navn,img_url,url,hits,kliks,rand() as rand_col FROM banner ORDER BY rand_col LIMIT 1\");
while($data = mysql_fetch_array($foresp)){

  echo \"<table border=0><tr>\";
  echo \"<td><a target=_blank href=$data[3]><img border=0 alt=$data[1] src=$data[2]></a></td>\";
  echo \"</tr></table>\";

$nr = \"$data[0]\";

}

mysql_query(\"update banner set hits = hits + 1 where nr = \'$nr\'\");

?>
Avatar billede mortenfn Nybegynder
25. september 2001 - 22:18 #1
UPDATE banner SET age=age+1 where nr = \'$nr\';

i følge mysql ingen mellemrum
Avatar billede mortenfn Nybegynder
25. september 2001 - 22:20 #2
UPDATE banner SET hits=hits+1 where nr = \'$nr\';
Avatar billede Slettet bruger
25. september 2001 - 22:23 #3
Jeg ved godt hvordan man opdaterer en database - det er IKKE spørgsmålet !!! Jeg spørger --> hvordan man lægger +1 til \"kliks\" når der trykkes på banneret.

Sætningen \"mysql_query(\"update banner set hits = hits + 1 where nr = \'$nr\'\");\" er der intet i vejen med. Den ligger til \"hits\" når siden reloades...
Avatar billede mortenfn Nybegynder
25. september 2001 - 22:51 #4
Ok så er det jo ikke et mysql-problem. Men kunne du ikke bruge noget javascript alla:

<body onUnload=\"logud()\">

<script language=javascript>
<!--- skjul script for ældre browsere

function update(){
<?
mysql_query(\"update banner set hits = hits + 1 where nr = \'$nr\'\");
;
?>
}
// slut på kommentar der skjuler for ældre browsere -->
</script>

og så indsætte i href :

onclick=\"return update()

det er kun en ide, jeg er ikke en øren til javascript
Avatar billede Slettet bruger
26. september 2001 - 09:36 #5
Det er da et forsøg værd :]
Avatar billede Slettet bruger
26. september 2001 - 09:41 #6
Kan du ikke lige skrive nærmere bestemt hvordan min href skal se ud???
echo \"<td><a target=_blank href=$data[3]><img border=0 alt=$data[1] src=$data[2]></a></td>\";
Avatar billede proguy Nybegynder
27. september 2001 - 17:37 #7
Der skal laves et viderstillingsscript, kald det klik.php.
Dette script tager to parametre (nemlig BannerID og URL), og inkrementerer hits i databasen med en for det pågældende banner.

klik.php:
<?
$db = mysql_connect(\"xxx\",\"xxx\",\"xxx\");

mysql_query(\"update banner set hits = hits + 1 where nr = \'$BannerID\'\");

header(\"location: \" . $URL);
?>;
Så skal der også lige ændre en enkelt linje i det script der  henviser til siden:
\'
echo \"<td><a target=_blank href=$data[3]><img border=0 alt=$data[1] src=$data[2]></a></td>\"; \'
skal rettes til

\'echo \"<td><a target=_blank href=klik.php?BannerID=$data[0]&URL=$data[3]><img border=0 alt=$data[1] src=$data[2]></a></td>\'

Og så skulle det virke..
(Der tages forbehold for trykfejl... ;)
Avatar billede Slettet bruger
27. september 2001 - 20:07 #8
Tak for hjælpen - det virker rigtigt godt!
/Raz
Avatar billede Slettet bruger
27. september 2001 - 20:08 #9
(ProGuy)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester