Gast Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Hi, ich hab grad mal wieder ein Problem, dass mich nicht voran bringt. und zwar: ich in der tabelle todo ist ein feld "status", der standardmäßig mit "---" belegt ist. nun möchte ich beim Klick auf einem Button "erledigt" ein UPDATE durchführen. die Abfrage ist wie folgt: if($erledigt) { $sql3=mysql_query("UPDATE todo SET status='erledigt' WHERE status=".$_GET['erledigt']); if($sql3){ echo " | <b>Erfolg</b>"; } else { echo " | <b>Fehler</b>"; } }[/PHP] Zwar wird beim Klick auf den Button "Erfolg" ausgegeben, allerdings wird kein Update in der Tabelle durchgeführt. Weiß jemand vielleicht, woran das liegt bzw. was ich falsch mache? Danke, Marcus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Hallo, hat der Datenbankuser das Updaterecht? Ist die Spalte status lang genug um das Wort erledigt aufzunehmen? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Hallo, hat der Datenbankuser das Updaterecht? Ist die Spalte status lang genug um das Wort erledigt aufzunehmen? Frank Hi Frank, meines Wissens nach hat der User das Updaterecht. Andernfalls gäbe es eine Fehlermeldung, oder? Die Spalte "status" is varchar(255). Also das sollte nicht das Problem sein... Vielleicht mache ich auch was falsch jedenfalls versuche ich das feld status über task_id upzudaten. oder vielleicht UPDATE todo SET status='erledigt' WHERE status=".$_GET['task_id'] -> task_id wird als wert über die URL (...php?erledigt=1) übermittelt. Allerdings funzt das auch nicht Marcus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dorti Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Musst Du das nicht noch mit commit; bestätigen? Bei Oracle ist das so, erst dann wird es in der Tabelle festgeschrieben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Musst Du das nicht noch mit commit; bestätigen? Bei Oracle ist das so, erst dann wird es in der Tabelle festgeschrieben. Nicht bei MySQL. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Bau doch mal folgendes in die Seite ein. echo "UPDATE todo SET status='erledigt' WHERE status=".$_GET['erledigt']; [/php] Und den SQL Code den er Dir dann ausgibt, gibst Du direkt bei MySQL ein. Entweder über die Kommandozeile oder über phpMyAdmin oder oder oder. Vielleicht sieht man dann etwas mehr. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Hi, in der tabelle todo ist ein feld "status", der standardmäßig mit "---" belegt ist. [...] "UPDATE todo SET status='erledigt' WHERE status=".$_GET['erledigt'] [...] URL (...php?erledigt=1) übermittelt. Wenn status mit "---" belegt ist findet die Abfrage "WHERE status = 1" keinen Datensatz der upgedated werden kann. Wenn du in deiner Tabelle ein Feld ID hast solltest du das nutzen um den Satz zu bestimmen. Oder halt was anderes eindeutiges. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Wenn status mit "---" belegt ist findet die Abfrage "WHERE status = 1" keinen Datensatz der upgedated werden kann. Stimmt. Das hatte ich gar nicht gesehen. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 2. Juli 2004 Teilen Geschrieben 2. Juli 2004 hm, ich hab jetzt ma $sql3=mysql_query("UPDATE todo SET status=2 WHERE status=1 AND task_id=$task_id"); als Statement geschrieben. Es scheint zu funtzen. Allerdings hab ich jetzt ein anderes Problem. Beim Klick auf das Icon, das das Update durchführt, wird die Änderung nicht angezeigt. Bei einem Reload der Seite, ist die Änderung dann sichtbar. Wie kann ich das ändern? Gruß, Marcus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 2. Juli 2004 Teilen Geschrieben 2. Juli 2004 Ich nehme mal an, dass Du erst die Ausgabe machst und danach das Update. Entweder Du drehst das um oder Du machst nach dem Update ein meta refresh. Frank 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.