Daten beim Eintragen subtrahieren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
anlegen
befehl
benutzerdaten
bereich
code
datenbank
datensatz
forum
frage
geholten punkte
holen
inhalt
punkt
set
spalte
tabelle
update
wissen
zeile
-
HI,
ich möchte ein punkte sytem auf meine seite einbauen
if($insert2 = @mysql_query("INSERT INTO Punkte SET Punkte = '1', User = '$gründer' "))
und so schreibt er es in die db das prob is ich möchte das er prüft ob schon punkte vorhanden sind und dann einen punkt dazu rechnet
könnt ihr mir helfen?
lg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Erst überprüfst du mit einer SELECT-Abfrage ob Punkte vorhanden sind (und holst sie praktischerweise, wenn ja, gleich aus der Tabelle)
//Punkte per SELECT-befehl aus der Datenbank holen $sql = mysql_query("SELECT Punkte FROM Punkte WHERE User = '$gründer'"); $query = mysql_fetch_assoc($sql); //Wenn $query false ist gibt es keinen Datensatz, der in der Spalte User den Inhalt der variable $gründer hat if ($query == false) { //Der Datensatz wird angelegt mysql_query("INSERT INTO Punkte SET Punkte = '1', User = '$gründer' "); } //Ansonsten wird ein Punkt dazugerechnet: Die vorhin aus der Tabelle geholten Punkte + 1 else { //Der Datensatz wird aktualisiert $neue_punktzahl = $query['Punkte'] + 1; mysql_query("UPDATE Punkte SET Punkte = '$neue_punktzahl' WHERE User = '$gründer'"); }
Ich hab jetzt mal deinen Befehl zum Einfügen übernommen - bist du sicher, dass der funktioniert? Ich weiß ja nicht ob das so auch geht, aber meines Wissens sieht der INSERT INTO befehl anders aus... -
dustboy schrieb: Erst überprüfst du mit einer SELECT-Abfrage ob Punkte vorhanden sind (und holst sie praktischerweise, wenn ja, gleich aus der Tabelle)
//Punkte per SELECT-befehl aus der Datenbank holen $sql = mysql_query("SELECT Punkte FROM Punkte WHERE User = '$gründer'"); $query = mysql_fetch_assoc($sql); //Wenn $query false ist gibt es keinen Datensatz, der in der Spalte User den Inhalt der variable $gründer hat if ($query == false) { //Der Datensatz wird angelegt mysql_query("INSERT INTO Punkte SET Punkte = '1', User = '$gründer' "); } //Ansonsten wird ein Punkt dazugerechnet: Die vorhin aus der Tabelle geholten Punkte + 1 else { //Der Datensatz wird aktualisiert $neue_punktzahl = $query['Punkte'] + 1; mysql_query("UPDATE Punkte SET Punkte = '$neue_punktzahl' WHERE User = '$gründer'"); }
Ich hab jetzt mal deinen Befehl zum Einfügen übernommen - bist du sicher, dass der funktioniert? Ich weiß ja nicht ob das so auch geht, aber meines Wissens sieht der INSERT INTO befehl anders aus...
Thx ja war falschich hab das ganze nen bissel anders
.................................................$query = @mysql_query("SELECT * FROM benutzerdaten WHERE Id like '1'"); $result = @mysql_fetch_array($query); $Punkte = $Punkte+2; if($insert = @mysql_query("INSERT INTO Forum SET Titel = '$Titel', Bereich = '$Bereich', Gründer = '$gründer', Frage = '$Frage' ") and ($insert2 = @mysql_query("UPDATE benutzerdaten SET Punkte = '$Punkte' WHERE Id = '$gründer'"))) { echo '<p align="center">Das anlegen des neuen Forums war erfolgreich.<br><a href="?URL=Forumschreiben.php">Zurück</a></p>'; } else{ echo '<p align="center">Beim Anlegen des Forums trat leider ein Fehler auf.<br><a href="?URL=Forumschreiben.php">Zurück</a></p>'; } } ?>
mein prob is der rechnet nichts dazu wo ran liegt das? -
dustboy schrieb: In deinem Code geht von nirgends hervor, woher die Variable $Punkte (Zeile 3) kommt. Prüf mal, ob ihr inhalt stimmt. Oder meintest du vieleicht:
$Punkte = $result['Punkte'] + 2;
??
oh man wie dum ja thx^^
lg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage