easy2004 Geschrieben 20. Februar 2005 Teilen Geschrieben 20. Februar 2005 Moin! Hab hier folgendes Problem.... Ich möchte das alle Datensätze aktualisiert werden wenn man was neues reinschreibt... jedoch wird immer nur der letzte Datensatz aktualisiert... wie kann man das machen das alle Datensätze aktualisiert werden? Hier ist mal der Code! Danke im Vorraus: <?php error_reporting(E_ALL); $db_server = "XXX"; $db_user = "XXX"; $db_passwort = "XX"; $db_name = "XXX"; @MYSQL_PCONNECT($db_server,$db_user,$db_passwort); $db_select = @MYSQL_SELECT_DB($db_name); if(isset($test) <> "") { mysql_query("UPDATE playlist SET test = '$test' WHERE id ='$id'"); } $result = mysql_query("SELECT * FROM playlist ORDER BY id ASC"); echo "<form method=post>"; while($row = mysql_fetch_array($result)) { echo " <table align=center border=1> <tr> <td width=30 align=center><input type=text name=id value=$row[id]></td> <td width=100 align=center><input type=text name=test value=$row[test]></td> </tr> </table> "; } echo "<center><input type=submit value=Eintragen> <input type=reset value=Löschen></form></center>"; ?> ps. hier nochmal der Link zum anschauen: http://www.ricorda.de/entwicklung/playlist/index1.php Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 20. Februar 2005 Teilen Geschrieben 20. Februar 2005 Da die Seite wegen eines PHP Fehlers nicht funktioniert kann ich dein Problem nicht ganz nachvollziehen. Was heißt es sollen alle Datensätze aktualisiert werden. Du machst doch nur ein Update zu einer bestimmten ID. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shockbox Geschrieben 20. Februar 2005 Teilen Geschrieben 20. Februar 2005 Hallo, du kannst das ganze mal mit "mysql_fetch_row" probieren, allerdings musst du dann wieder für jedes Datenfeld eine Variable vergeben. -------------------------------------------------------------- <?php error_reporting(E_ALL); $db_server = "XXX"; $db_user = "XXX"; $db_passwort = "XX"; $db_name = "XXX"; @MYSQL_PCONNECT($db_server,$db_user,$db_passwort); $db_select = @MYSQL_SELECT_DB($db_name); if(isset($test) <> "") { mysql_query("UPDATE playlist SET test = '$test' WHERE id ='$id'"); } $result = mysql_query("SELECT * FROM playlist ORDER BY id ASC"); echo "<form method=post>"; while(list ($id, $test) = mysql_fetch_row($result)) { echo " <table align=center border=1> <tr> <td width=30 align=center><input type=text name=id value=$id></td> <td width=100 align=center><input type=text name=test value=$test></td> </tr> </table> "; } echo "<center><input type=submit value=Eintragen> <input type=reset value=Löschen></form></center>"; ?> -------------------------------------------------------------- mfg shockbox Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
easy2004 Geschrieben 20. Februar 2005 Autor Teilen Geschrieben 20. Februar 2005 allerdings musst du dann wieder für jedes Datenfeld eine Variable vergeben. wie mienst du das? und an welcher stelle? mfg easy! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shockbox Geschrieben 20. Februar 2005 Teilen Geschrieben 20. Februar 2005 hallo nochmal, also du musst statt "while($row = mysql_fetch_array($result)) " einfach "while(list ($id, $test) = mysql_fetch_row($resulst))" schreiben und dabei nicht vergessen bei den Value-Feldern statt "value=$row[id]" folgendes schreiben "value=$id" shockbox Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
easy2004 Geschrieben 20. Februar 2005 Autor Teilen Geschrieben 20. Februar 2005 joa hab ich gemacht... nur er ändert nach wie vor immer nur den letzten datensatz: http://www.ricorda.de/entwicklung/playlist/index1.php ^^^hier kannst du dir das nochmal anschauen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shockbox Geschrieben 20. Februar 2005 Teilen Geschrieben 20. Februar 2005 der Lösungsvorschlag galt eigentlich nur für die PHP-Fehlermeldung, aber ich weiß auch warum er immer nur den letzten Datensatz ändert. du speicherst alle Werte in die Variablen $id und $test durch die While-Schleife beinhalten die Variablen immer den letzten Wert, also $id beinhaltet die Datensatz-ID 2 d.h. dein Script kann immer nur den letzen Datensatz ändern weil du keine ID deines Datensatzes übergibst shockbox Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 21. Februar 2005 Teilen Geschrieben 21. Februar 2005 wenn du alle datensätze in der Tabelle updaten willst musst du auch ein entsprechender SQL Statement absetzten: if(isset($test) <> "") { // mysql_query("UPDATE playlist SET test = '$test' WHERE id ='$id'"); // hier alle nicht nur den ausgewählten.... mysql_query("UPDATE playlist SET test = '$test'"); } [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.