Hi,
ich habe für meine HP vor langer Zeit eine nette gallery programmiert, welche alle Bilder in verschiedenen Verzeichnissen ausliest und diese automatisch mit vorschau, thumbnails und vielem mehr anzeigt. (anschauen könnt Ihr euch das auf www.isch2k.net - falls das zur Fehlerbehebung weiterhilft)
Vor einigen Tagen kam ich auf die Idee einen "klick-counter" hinzuzufügen.
Eine Routine soll überprüfen, ob das vorhandende Bild schon in der DB eingetragen ist oder nicht. Ist es eingetragen soll das Feld 'clicks' um 1 erhöht werden. Ansonsten soll das Bild mit pfad, dateiname und einem click eingetragen werden.
$pic und $dir nehme ich aus einem Array.
Das ganze funktioniert nur leider nicht. beim refreshen wird der counter zwar noch erhöht, ruf ich nun aber nun eine andere seite (bild) auf und dann wieder das vorherige steht der counter wieder auf 1. 'clicks' wird also überschrieben !
Schaut euch einfach mal den Codeschnipsel an:
<?php
// *schnipp*
mysql_connect($server, $db_user, $db_pass) or die ("CONNECT ERROR");
$anzahl=mysql_db_query($database, "SELECT * FROM $db_gallery_clicks where dir='$picdir' and pic='$pic'");
if (mysql_num_rows($anzahl) == 0)
{
mysql_db_query($database, "INSERT INTO $db_gallery_clicks (dir,pic,clicks) VALUES ('$picdir','$pic','1')") or die("INSERT Error in $db_gallery_clicks");
$showanzahl = "1";
}
else
{
$sql_row = @mysql_fetch_array($anzahl);
$showanzahl = $sql_row["clicks"] + 1;
mysql_db_query($database, "UPDATE $db_gallery_clicks SET `dir`='$picdir', `pic`='$pic', `clicks`='$showanzahl' LIMIT 1") or die("UPDATE Error in $db_gallery_clicks");
}
// *schnapp*
?>
[/PHP]