Hi!
printf('<input type="submit" name="change[%s]" value="Bearbeiten" />', $row->id');
Was genau macht die Zeile jetzt? Wozu dient das [%s] und wozu steht $row-id am Ende?Hast du die verlinkte Handbuchseite nicht gelesen? Ich kann sie dir schlecht vorlesen.
%s erzeugt ein Array, $row->id wird in das Array geschrieben, richtig so?
Wenn ich das wie angegeben bei mir rein kopiere, bekomm ich 3 Fehlermeldungen:
Warning: reset() [function.reset]: Passed variable is not an array or object in /var/www/db_connect.php on line 31
Warning: key() [function.key]: Passed variable is not an array or object in /var/www/db_connect.php on line 32Warning: Unexpected character in input: ''' (ASCII=39) state=1 in /var/www/MYSQLoutput.php on line 95
Die ersten 2 Fehlermeldungen verschwinden zwar, wenn ich auf den Bearbeiten-Button klicke, aber so das Wahre ist das trotzdem noch nicht... :)
Bist du dir über den Ablauf von Requests und Responses im Klaren? Wertest du den Inhalt von $_POST auch erst dann aus, wenn es was zum Auswerten gibt, also erst, wenn in $_POST etwas enthalten ist. Die Fehlermeldungen treten jedenfalls nicht auf, wenn du meinen Vorschlag richtig verstanden und umgesetzt hast, sowie diesen Code erst im POST-Fall ausführst. Ansonsten frag bitte nach, wenn dir was unklar ist!
Hätte ich sie an die richtige Stelle gesetzt, hätte ich mir die Frage auch sparen können - jetzt funktioniert alles, wie es soll :)
Was die dritte Meldung angeht ... die wird daran liegen, dass du einfach nur kopiert hast und dabei den Syntaxfehler mitkopiert hast, den ich beim Tippen übersehen habe.
Fehler schon behoben, hat sich also auch erledigt^^
Im Array steht nun die ID des jeweils gedrückten Buttons drin.
Gemäß meinem Vorschlag steht sie im Key des einzigen Elements von $_POST['change']. Was ergibt die Kontrollausgabe (mit var_dump())?
Mit einer procedure werden die Daten dann an die DB gesendet und sollten geupdatet werden - werden sie aber nicht.
Die Rückgabewerte der verwendeten Funktionen, die dich über den Erfolg oder Misserfolg aufklären wollen, beachtest du? Und Fehlermeldungen hast du gegebenenfalls auch abgefragt?
So sollte die Tabelle geupdatet werden:
UPDATE ppp_guest_tasks SET task = $output_task, project = $output_project, customer = $output_customer WHERE id = $output_id;Das ist PHP-Code. Wie sieht das Statement aus, das du an MySQL schickst? Mach eine Kontrollausgabe des zusammengesetzten String!
Mittlerweile funktioniert die Übergabe bzw. das Ändern per ID - teilweise.
In meinem anderen Beitrag hatte ich schon geschrieben, dass die Textboxen jetzt zwar nach jeweiligem Button+ID geändert werden, allerdings werden nur die Werte eingetragen, die in der zuletzt hinzugefügten Zeile stehen und nicht in der, die man gerade bearbeitet...