Login Script + Rechnung
#1
geschrieben 03. Januar 2006 - 10:48
Ich hab mir mit diesem Tut ein Loginscript erstellt http://www.tutorials...orials9684.html. Nun habe ich eine Neue Zeile in der DB erstellt mit geld = 20 und möchte nun das ich im internen bereich auf einen link klicken kann der dann minus 10 abzieht sollte aber in der mysql tabelle geschehen. Ich hab gehört das geht mit UPDATE? Aber wie?
MFG skiller
Anzeige
#2
geschrieben 03. Januar 2006 - 11:38
#3
geschrieben 03. Januar 2006 - 11:49
#4
geschrieben 03. Januar 2006 - 12:29
#5
geschrieben 03. Januar 2006 - 12:41
UPDATE FROM $tablename SET geld="geld-10" WHERE id = "$id";
$tablename = Name deiner Tabelle
geld = Die Spalte mit dem Namen 'geld', hier ist wahrscheinlich keine Anpassung nötig.
Die Bedingung "WHERE..." bestimmt, bei welchen Datensätzen eine Aktualisierung vorgenommen wird. Immer eigentlich hat man eine ID-Spalte und vergibt für jeden Datensatz eine ID, mit der man den Datensatz eindeutig bestimmen kann.
Dieser Beitrag wurde von stefanra bearbeitet: 03. Januar 2006 - 12:43
#6
geschrieben 03. Januar 2006 - 12:45
#7
geschrieben 03. Januar 2006 - 12:47
UPDATE `$tablename` SET `geld`='geld-10' WHERE `id`='$id';
So gefällt's mir auch besser.
#8
geschrieben 03. Januar 2006 - 13:29
Zitat (stefanra: 03.01.2006, 12:41)
UPDATE FROM $tablename SET geld="geld-10" WHERE id = "$id";
$tablename = Name deiner Tabelle
geld = Die Spalte mit dem Namen 'geld', hier ist wahrscheinlich keine Anpassung nötig.
Die Bedingung "WHERE..." bestimmt, bei welchen Datensätzen eine Aktualisierung vorgenommen wird. Immer eigentlich hat man eine ID-Spalte und vergibt für jeden Datensatz eine ID, mit der man den Datensatz eindeutig bestimmen kann.
Ich meinte eher wie binde ich das jetzt in den internen bereich ein?
Wenn ich das mit Where muss ich das für jeden benutzer einzeln mach odr wie funktioniert das?
#9
geschrieben 03. Januar 2006 - 13:33
Zitat (Skiller: 03.01.2006, 12:29)
ist doch komplett ein beispiel, oder was meinst du genau?
Zitat (Floele: 03.01.2006, 12:45)
is halt mein akzent:-), aber müsste eigentlich funktionieren
Dieser Beitrag wurde von Meatwad bearbeitet: 03. Januar 2006 - 13:33
#10
geschrieben 03. Januar 2006 - 13:37
Einfach das obige Statement nach Aufbau einer Datenbank mit der PHP-Funktion mysql_query( $statement ); ausführen.
#11
geschrieben 03. Januar 2006 - 13:49
UPDATE FROM $tablename SET geld="geld-10" WHERE id = "$id";
nehmen, wie packen wir es dann in eine Variable? So jedenfalls nicht:
$sql = "UPDATE FROM $tablename SET geld="geld-10" WHERE id = "$id""
Und so auch nicht
$sql = 'UPDATE FROM $tablename SET geld="geld-10" WHERE id = "$id"'da sonst die Variablen nicht mehr funktionieren. Davon ganz abgesehen düfte geld-10 eigentlich nicht in Anführungszeichen stehen, sonst haben alle Zellen nämlich den Inhalt "geld-10".
#12
geschrieben 03. Januar 2006 - 13:51
Zitat (stefanra: 03.01.2006, 13:37)
Einfach das obige Statement nach Aufbau einer Datenbank mit der PHP-Funktion mysql_query( $statement ); ausführen.
Hab alles so wie in diesen Tutorial bis auf das ich noch eine Zeile angelegt habe mit geld
#13
geschrieben 03. Januar 2006 - 13:54
#14
geschrieben 03. Januar 2006 - 14:15
Zitat (stefanra: 03.01.2006, 13:54)
Hab die Tabelle mit dem SQl Befehl erstellt
CREATE TABLE benutzerdaten ( Id Int(11) NOT NULL auto_increment, Nickname VarChar(50) NOT NULL default '', Kennwort VarChar(50) NOT NULL default '', Nachname VarChar(50) NOT NULL default '', Vorname VarChar(50) NOT NULL default '', Geld VarChar(50) NOT NULL default '', PRIMARY KEY (Id) )
#15
geschrieben 03. Januar 2006 - 14:42
Naja, dann ist es ja trivial.
$conn = mysql_connect("localhost", "user", "password");
mysql_select_db("datenbank", $conn);
mysql_query("UPDATE `benutzerdaten` SET `Geld`=Geld-10 WHERE `Id`='$BenutzerId';");
$BenutzerId musst du halt dann anhand der Anmeldeinformationen bestimmen.
Dieser Beitrag wurde von stefanra bearbeitet: 03. Januar 2006 - 14:42