Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

Musst Du das nicht noch mit commit; bestätigen? Bei Oracle ist das so, erst dann wird es in der Tabelle festgeschrieben.

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

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.

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.