$query = mysql_query("SELECT count(*) AS antal FROM billed_visninger WHERE aargang='$årgang' AND sti='$sti' AND fil='billede'") or die(mysql_error()) $row = mysql_fetch_assoc($query);
if ($row["antal"] == 0) { mysql_query("INSERT INTO billed_visninger (visninger, aargang, sti, fil) VALUES (1, '$årgang', '$sti', '$billede')"); } else { mysql_query("UPDATE billed_visninger SET visninger = visninger+1 WHERE aargang='$årgang' AND sti='$sti' AND fil='$billede'"); }
Det her er meget underligt, jeg har rettet lidt i koden så den ser sådan her ud:
$query = mysql_query("SELECT count(*) AS antal FROM billed_visninger WHERE aargang='$årgang' AND sti='$sti' AND fil='$billede';") or die(mysql_error()); $row = mysql_fetch_assoc($query);
$visninger = $row["antal"] + 1; mysql_query("UPDATE `billed_visninger` SET `visninger` = '$visninger' WHERE `aargang` = '$årgang' AND `sti` = '$sti' AND `fil` = '$billede' LIMIT 1 ;") or die(mysql_error());
if (mysql_affected_rows() <= 0) { mysql_query("INSERT INTO `billed_visninger` ( `aargang` , `sti` , `fil` , `visninger` ) VALUES ('$årgang', '$sti', '$billede', '1');") or die(mysql_error()); }
echo "antal visninger: " . ($row["antal"]+1);
Men nu opfører den sig meget mærkeligt, hver anden gang opdaterer den den første række så der kommer til at stå det rigtige, og hver anden gang laver den en ny hvor der står 1 i visninger :(
Hmmm, jo, jeg kan da se en fejl - den viser altid "1".
Noget af din kode gav mig dog en idé til en lidt anden måde at lave det på:
$sql = "UPDATE billed_visninger SET visninger = visninger+1 WHERE aargang = '$årgang' AND sti = '$sti' AND fil = '$billede'"; mysql_query($sql) or die(mysql_error());
if (mysql_affected_rows() == 0) { $sql = "INSERT INTO billed_visninger (aargang, sti, fil, visninger) VALUES ('$årgang', '$sti', '$billede', '1')"; mysql_query() or die(mysql_error()); }
$sql = "SELECT visninger FROM billed_visninger WHERE aargang = '$årgang' AND sti = '$sti' AND fil = '$billede'"; $query = mysql_query($sql) or die(mysql_error()); $row = mysql_fetch_assoc($query); echo "antal visninger: " . $row["visninger"] . "<br>"
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.