Avatar billede stieper Nybegynder
23. april 2006 - 13:37 Der er 9 kommentarer og
2 løsninger

Update mysql Onclick

Hej eksperter.

Jeg skal opdatere min database, når en bruger klikker på et af mine billeder.

Eksempel.

function update_views($id) { //tager billed id som input
$update = "UPDATE images SET views=views+1 WHERE id='$id' LIMIT 1";
$result_update = mysql_query($update) or die(mysql_error());
}


....SQL koden her....
while ($row = mysql_fetch_array($result))
{
  if (($cols % 3) == 0 ){ echo "</tr> <tr>"; }

  echo "<td>"; ?>
  <a onclick="<? update_views($row[id]); ?>" href="<?=$row['dir'] . "/" . $row['name']?>">
  <img border="0" src="<?=$row['dir'] . "/thumb_" . $row['name']?>"></a>
  <?
  echo "</td>";
  $cols++;
}
echo "</tr> </table>";


Problemet er at hver gang min side bliver vist (Med 18 billeder af gangen) Opdaterer den ALLE 18 billeder så snart siden bliver loadet - og IKKE når folk klikker på et billede, som jeg gerne vil have.

Hvad gør jeg forkert her??

På forhånd tak for hjælpen.
Avatar billede fynbo Nybegynder
23. april 2006 - 14:00 #1
du kalder funktionen hver gang du lavet et link. Lav et link til filen istedet. Du får lige kode, går ud fra din fil hedder index.php
Avatar billede fynbo Nybegynder
23. april 2006 - 14:03 #2
<?
function update_views($id) {
    $update = "UPDATE images SET views=views+1 WHERE id='$id' LIMIT 1";
    $result_update = mysql_query($update) or die(mysql_error());
}

if($_GET[update]) update_views($_GET[update]);

/** sql kode her **/
while ($row = mysql_fetch_array($result)){
  if (($cols % 3) == 0 ) print '</tr> <tr>'; }
  print '<td><a href="index.php?update='.$row[id].'"><img border="0" src="'.$row['dir'].'"/thumb_"'.$row['name'].'"></a></td>';
  $cols++;
}
print '</tr></table>';
?>
Avatar billede fynbo Nybegynder
23. april 2006 - 14:05 #3
du blander javascript og sammen. Du kan ikke kalde en php funktion via javascrips's OnClick, fordi i samme øjeblik du skriver <? update_views($row[id]); ?> så kører du php funktionen.
Avatar billede stieper Nybegynder
23. april 2006 - 16:06 #4
Jeg lavede det helt om :-/

Lavede en showimage.php fil som viser hvert enkelt billede ud fra $_get[id] og som samtidig laver en update af min db.

eksempel kan ses på www.festiblokhus.dk/galleri.php

Men ellers tak for hjælpen, og undskyld ulejligheden.
Avatar billede fynbo Nybegynder
23. april 2006 - 16:16 #5
okay har smidt et svar
Avatar billede fynbo Nybegynder
23. april 2006 - 16:19 #6
pæn side iøvrigt
Avatar billede stieper Nybegynder
23. april 2006 - 23:07 #7
Takker ;-)
Deler points - håber d er ok.
Avatar billede fynbo Nybegynder
23. april 2006 - 23:09 #8
Deler point hvorfor? Du spurgte hvad du gjorde forkert og jeg besvarede dit spørgsmål? At du så valgte en løsning er ikke mit problem. Du spurgte ikke om en løsning, du spurgte hvad du gjorde forkert.
Avatar billede stieper Nybegynder
23. april 2006 - 23:46 #9
ok, point taken.

http://www.eksperten.dk/spm/704817

for points.
Avatar billede fynbo Nybegynder
23. april 2006 - 23:48 #10
nej, ligegyldigt - handler om at hjælpe folk, ikke point - bare en lidt speciel måde at lukke et spørgsmål på ;-)
Avatar billede stieper Nybegynder
23. april 2006 - 23:50 #11
Det har du helt ret i. Men tag dem nu bare - nu ligger de der jo bare og venter ;-) Sætter pris på hjælpen, da det jo gav mig et "skub" i den rigtige retning ;-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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