Antworten auf deine Fragen:
Neues Thema erstellen

mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

XIIZQ

Noch nicht viel geschrieben

heyho,

habe heute eine neue frage zu php und mysql,
ich habe zurzeit eine update.php seite die wenn
ich sie ausführe bestimmte sachen updaten soll,
______________________
| ID | zahl1 | zahl2 | gleich |
| 1.. | 23 ... | 12 .. | 35 .... |
| 2.. | 12 ... | 12 .. | 24 .... |

das ist die datenbank, ich habe aber noch mehr
ID´s und mein problem ist nun das wenn ich im
update.php im sage update jede spalte das ich
nicht weiss wie ich alle ID´s einzelnd ansprechen
soll.

PHP:
$zahl1 = 1000; 
$ergebnis1 = $zahl2 * 500 + $zahl1;   
mysql_query("UPDATE rechnung SET gleich = $gleich + $ergebnis1 WHERE id='1'");
so kann ich leider nur id 1 ansprechen will aber das er beim update
alle ids anspricht ohne das ich jede ID einzelnd als query raushauen
muss..

danke schonmal im vorraus
 

exo

Aktives Mitglied

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

Ganz einfach:

PHP:
$query = mysql_query("SELECT * FROM rechnung");
while($do = mysql_fetch_array($query)){
$id = $do['ID'];
mysql_query("UPDATE rechnung SET gleich = $gleich + $ergebnis1 WHERE id='".$id."'");  
}

hoffe soweit verständlich was da passiert ;) ansonsten sag einfach bescheid dann kommt die kurze erklärung
 

XIIZQ

Noch nicht viel geschrieben

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

Ganz einfach:

PHP:
$query = mysql_query("SELECT * FROM rechnung");
while($do = mysql_fetch_array($query)){
$id = $do['ID'];
mysql_query("UPDATE rechnung SET gleich = $gleich + $ergebnis1 WHERE id='".$id."'");  
}
hoffe soweit verständlich was da passiert ;) ansonsten sag einfach bescheid dann kommt die kurze erklärung

coole sache, funzt leider nicht, da er die ganze reihe nimmt und dann
jeder id diesen wert hinzufügt =/
 

fakerer

Aktives Mitglied

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

wenn du nur eine bestimmte zeile ansprechen willst setzt du $id der gewünschten id und so wird dann nur die zeile angesprochen

wenn du die id immer aus dem ergebnis nimmst ist es klar das jede zeile bearbeitet wird
 

XIIZQ

Noch nicht viel geschrieben

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

das ergebnis hat damit nichts zu tun, wenn ich statt ergebis eine 1 mach und in der DB dann 100 und 200 angebe ist nach dem update alles auf 101
 

Duddle

Posting-Frequenz: 14µHz

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

Erstens: in einer Datenbank sollten keine abgeleiteten (d.h. berechenbare oder sonstwie aus den vorhandenen Daten erzeugbare) Werte stehen. Ich weiß nicht, in welchem Kontext diese Tabelle benutzt wird, aber ich würde sehr stark behaupten, dass die Spalte "gleich" ein Fehler / unnötig ist.

Zweitens:
PHP:
mysql_query("UPDATE rechnung SET gleich = $gleich + $ergebnis1 WHERE id='1'");

$gleich ist nirgendwo definiert. Falls du den aktuellen Wert der gerade angesprochenen Zeile nehmen willst, dann sprich einfach die Spalte an:
PHP:
mysql_query("UPDATE rechnung SET gleich = gleich + $ergebnis1 WHERE id='1'");


Duddle
 

XIIZQ

Noch nicht viel geschrieben

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

Erstens: in einer Datenbank sollten keine abgeleiteten (d.h. berechenbare oder sonstwie aus den vorhandenen Daten erzeugbare) Werte stehen. Ich weiß nicht, in welchem Kontext diese Tabelle benutzt wird, aber ich würde sehr stark behaupten, dass die Spalte "gleich" ein Fehler / unnötig ist.

Zweitens:
PHP:
mysql_query("UPDATE rechnung SET gleich = $gleich + $ergebnis1 WHERE id='1'");
$gleich ist nirgendwo definiert. Falls du den aktuellen Wert der gerade angesprochenen Zeile nehmen willst, dann sprich einfach die Spalte an:
PHP:
mysql_query("UPDATE rechnung SET gleich = gleich + $ergebnis1 WHERE id='1'");
Duddle

damit ist gleich definiert ;-)

PHP:
            $sql="SELECT * FROM rechnung";
            $result=mysql_query($sql) or die(mysql_error());
            $row=mysql_fetch_assoc($result);
            
                    $zahl1=$row            [zahl1'];
 

fakerer

Aktives Mitglied

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

das ergebnis hat damit nichts zu tun, wenn ich statt ergebis eine 1 mach und in der DB dann 100 und 200 angebe ist nach dem update alles auf 101

wie ich schon versucht habe zu sagen wenn du die id immer in der schleife einliest trifft deine where schleife immer zu.

PHP:
$id = 1;
while($do = mysql_fetch_array($query)){
    mysql_query("UPDATE rechnung SET gleich = $gleich + $ergebnis1 WHERE id='".$id."'");  
}
so wird nur die Zeile mit der id 1 angesprochen

ich glaub du musst dir noch mal überlegen was du genau willst und dir den ablauf noch mal durchdenken.
 

XIIZQ

Noch nicht viel geschrieben

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

wie ich schon versucht habe zu sagen wenn du die id immer in der schleife einliest trifft deine where schleife immer zu.

PHP:
$id = 1;
while($do = mysql_fetch_array($query)){
    mysql_query("UPDATE rechnung SET gleich = $gleich + $ergebnis1 WHERE id='".$id."'");  
}
so wird nur die Zeile mit der id 1 angesprochen

ich glaub du musst dir noch mal überlegen was du genau willst und dir den ablauf noch mal durchdenken.

ich weiss was ich möchte, ich die update.php aufrufen und
dann soll alle user die in der db drin stehen ihre zahl erhöht
bekommen, user 1 hat 10 + 3 = 13 und user 2 hat 6 + 3 = 9
etz. weisst du was ich meine? :)
 

fakerer

Aktives Mitglied

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

PHP:
$query = mysql_query("SELECT * FROM rechnung");
while($do = mysql_fetch_array($query)){
    $id = $do['ID'];
    mysql_query("UPDATE rechnung SET gleich = ".$do['gleich ']." + $ergebnis1 WHERE id='".$id."'");  
}
löst das vielleicht dein problem?
 

Duddle

Posting-Frequenz: 14µHz

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

Um dem hier mal ein Ende zu bereiten:
PHP:
 mysql_query("UPDATE rechnung SET gleich = gleich + $ergebnis1");

Duddle
 

XIIZQ

Noch nicht viel geschrieben

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

Um dem hier mal ein Ende zu bereiten:
PHP:
 mysql_query("UPDATE rechnung SET gleich = gleich + $ergebnis1");
Duddle

...
Deine lösung geht in keinster weise.. aber danke

PHP:
$query = mysql_query("SELECT * FROM rechnung");
while($do = mysql_fetch_array($query)){
    $id = $do['ID'];
    mysql_query("UPDATE rechnung SET gleich = ".$do['gleich ']." + $ergebnis1 WHERE id='".$id."'");  
}
löst das vielleicht dein problem?

Ja hat es, vielen dank, bin voll am ausflippen gewesen ^^
so sollte es sein ^^
 

Duddle

Posting-Frequenz: 14µHz

AW: mysql + php / jede ID einzelnd ansprechen mit verschiedene parameter

...
Deine lösung geht in keinster weise.. aber danke

Dann hast du entweder etwas falsch gemacht oder eine sehr, sehr seltsame MySQL-Version. Ich zitiere das Handbuch von MySQL 5.0 zum Thema UPDATE:

If you access a column from the table to be updated in an expression, UPDATE uses the current value of the column. For example, the following statement sets col1 to one more than its current value:

Code:
UPDATE t1 SET col1 = col1 + 1;

Das entspricht exakt deinem Anwendungsfall.


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben