Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Per Knopfdruck Wert um eins erhöhen





Frage

Hallo allerseits, hab mal wieder ein kleines Problem. Ich möchte, dass beim Klick auf einen Button ein Wert in der SQL Datenbank um eins erhöht wird. Habe nun folgendes versucht. Also erstmal mit Datenbank verbunden und dann: [quote]$sql = "SELECT anzahl FROM test_users WHERE id = '".$_SESSION["user_id"]."'"; $result = mysql_query ($sql); $anni = $result+1;[/quote] und dann kurz danach: [quote]$aenderung = "UPDATE test_users Set anzahl = '$anni' WHERE id = '".$_SESSION["user_id"]."'"; $eintragung = mysql_query($aenderung); }[/quote] So, bei mir zeigt er dann in der Datenbank nachdem ich auf den Button geklickt hab ne 5 an. Wenn ich nochmal auf den Button klicke passiert gar nix. Kann mir jemand helfen? PS: Muss in der Datenbank der Typ auf INT gesetzt werden? Hab ihn auf VARCHAR, da wenn ich ihn auf INT setze gar nix passiert.

Antwort 1 von Supermax

Ohne zu wissen wie dein sonstiger Code aussieht kann man da nichts genaueres sagen. Um in SQL einen (numerischen) Wert zu erhöhen oder zu erniedrigen, kann man das innerhalb einer einzigen UPDATE-Anweisung durchführen:

UPDATE test_users SET anzahl = anzahl + 1 WHERE id = ${_SESSION['user_id']}


Der Fehler oben liegt übrigens darin, daß du versuchst, den Ergebnis-Handle von mySQL selbst zu erhöhen.

mysql_query() gibt zuerst einen solchen Handle (in PHP "resource" bezeichnet) zurück; dieser kann dann verwendet werden, um die Datensätze bzw. einzelne Werte einzulesen.

Also müßte dein Code oben korrekt heißen:

$result = mysql_query ($sql);
$anni = mysql_result($res,0,'anzahl');
$anni = $anni + 1;


Antwort 2 von Uesch

Oki, vielen Dank!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: