3Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
495
495
EMPFEHLEN
-
Kann man zb im Update-Befehl den Parameter SET rechnen lassen?
Etwa so:
Oder muss man immer erst eine Datenbankabfrage nach der "Menge" zum rechnen machen?PHP-Code:mysql_query("UPDATE
Tabellenname
SET
Menge=-$Anzahl
Where
X='$X' AND Y='$Y'");
Also eine Datenbankabfrage um die Zahl zum rechnen zu holen dann in Variable die Rechnung schreiben und nochmal die Datenbank mit der neuen Variable befüllen?
Würde mir da gern die Abfrage sparen.
-
04.10.10 08:49 #2
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hallo,
ja, MySQL kann rechnen. Deine Anfrage ist fast richtig, nur musst du die Menge zweimal reinschreiben:
Code sql:1 2 3 4 5 6
UPDATE Tabellenname SET Menge=Menge-$Anzahl WHERE X='$X' AND Y='$Y';
Gruß,
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Hey vielen Dank. Hatte mich schon mit den X Abfragen abgefunden. Hab mich ehrlich gewundert das dies nicht so einfach möglich war.
Eigentlich ist das Thema ja abgehakt allerdings folgt daraus ne 2.e Frage. Wenn die Tabelle oder die gesuchte Zeile/Zelle noch jungfräuhlich also leer ist, fange ich das normalerweisse bei einer Abfrage mit:
if num_rows != 0
ab. Kann man eine Fehlermeldung seitens SQL bei unseren Bsp. abfangen?
-
mysql_affected_rows()
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
04.10.10 13:35 #5
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hallo,
direkt "abfangen" kannst es nicht, würde die Abfrage auf alle Fälle einmal wie oben absetzen.
Danach kannst ja mit mysql_affected_rows() abrufen, wieviele Datensätze verändert wurden. Wenn dies 0 ist, dann kannst ja dein INSERT INTO abfeuern.
Du könntest das Ganze glaub ich aber auch mit einer Abfrage machen, nur weiß ich jetzt auch nicht ob das so funktioniert. Schau dir hier am Besten mal das hier an.
@yaslaw: Deine Antworten waren auch schonmal länger
Gruß
BKGeändert von Bratkartoffel (04.10.10 um 13:42 Uhr) Grund: Rechtschreibung / Grammatik
Über eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Aha verstehe die Funktion affected_rows fängt sozusagen Fehler ab wenn es keinen Eintrag zu UPDATEn gibt. Wunderbar das spart ne Menge Zugriffe.
Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$Anzahl=5; mysql_query("UPDATE Tabellenname SET Menge=Menge+$Anzahl Where ID='$ID' "); IF (mysql_errno()) { echo mysql_errno() . ": " . mysql_error(). "\n"; } IF (mysql_affected_rows() == 0) { $Anzahl=5; mysql_query("INSERT INTO Tabellenname (ID, MENGE) VALUES ('$ID','$Anzahl')");
Hab da mal nur fiktive namen genommen. Aber funktioniert einwandfrei.
Yaslaw hat die Angewohnheit mir kurz und knackig zu antworten. Hilft mir aber erstaunlicherweisse immer unheimlich weiter
Also Danke euche beiden.
Ähnliche Themen
-
Wie kann ich mit Werten aus einem String Array rechnen?
Von brikler im Forum Java GrundlagenAntworten: 9Letzter Beitrag: 30.11.09, 12:03 -
Benutzereingabe (Datum) konvertieren, damit man rechnen kann
Von Beezle92 im Forum PHPAntworten: 2Letzter Beitrag: 15.09.08, 16:49 -
Mysql Rechnen
Von ryserstephan im Forum PHPAntworten: 0Letzter Beitrag: 10.09.07, 15:31 -
Php Kann nicht Rechnen
Von buy im Forum PHPAntworten: 4Letzter Beitrag: 20.01.05, 22:03 -
js kann nicht rechnen******!?
Von WhiteWolf im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 04.03.03, 16:48





Zitieren


Login





