Eintrag vorselektieren
bense
- php
Hallo zusammen...
Ich speichere die Daten aus einem Formular in einer DB. Darunter ist auch ein Select-Feld. Jetzt möchte ich die Daten wieder in das Formular laden, um sie zu modifizieren. Gibt es eine Möglichkeit, einem "Select"-Feld zu sagen, ich möchte, dass derjenige Eintrag markiert ist, der in der Datenbank gespeichert ist? Also anhand des Namens? Ich habe zum Beispiel "Test" in der DB und möchte jetzt den Eintrag "Test" im Select-Feld markieren.
Mir ist schon klar, dass es mit If-Abfragen in PHP geht, wenn ich einfach beim richtigen Eintrag "selected" ausgeben würde, aber wenn ich eine Liste mit 20 Einträgen habe, muss ich 20 Abfragen machen.
Gibt's da eine bessere Lösung?
Danke und Gruss...
Hi,
Mir ist schon klar, dass es mit If-Abfragen in PHP geht, wenn ich einfach beim richtigen Eintrag "selected" ausgeben würde, aber wenn ich eine Liste mit 20 Einträgen habe, muss ich 20 Abfragen machen.
ja. Zwanzig Abfragen. In einer Schleife. Mit einem "if".
Cheatah
Hallo nochmals...
Dann habe ich ja schlussendlich doch eine ziemliche grosse Abfrage, für eine kleine Sache. Also gibt's keine Möglichkeit, mit JS oder so zu sagen, "selektiere den eintrag mit dem namen 'test'" ?
Gruss
Hi Bense
Dann habe ich ja schlussendlich doch eine ziemliche grosse Abfrage, für eine kleine Sache. Also gibt's keine Möglichkeit, mit JS oder so zu sagen, "selektiere den eintrag mit dem namen 'test'" ?
nein, Cheatahs Lösung ist die Richtige.
ciao
romy
Hello,
von irgendwo müssen ja die zulässigen Werte und ihre Beschriftungen stammen. Die holst Du ja entweder aus einem im Tabellen-Feld hinterlegten Set oder aus einer separaten Tabelle. Und beim Rückerhalt des Posts muss auch irgendwie die Typkonformität/Plausibilität zwischen Tabellenfeld und Formular-Paramter geprüft werden. Also müssen die Werte irgendwo hinterlegt sein.
Aus dieser Liste (Array) kann man mittels PHP wunderbar mit foreach() die Select-Options generieren und bei der Gelgenheit gleich mit der Liste der Voreinstellwerte (in der Tabelle gespeichert) vergleichen.
Bei Update sind es die im Feld gespeicherten Options und bei Insert sind es die Defaultwerte. Damit lädt man seine Funktion/Methode für die Select-Anzeige und dann ruft man sie auf.
Wenn Du dir also einmal eine vernünftige Funktion schreibst, dann hast Du sogar weniger Tipparbeit später.
Noch ein Tipp:
Ich würde diese Funktion einen HTML-String erzeugen lassen anstelle von direkten Ausgaben. Dann kann man den wahlweise an den Browser ausgeben lassen, wenn es soweit ist oder ihn in eine Datei schreiben, wenn man mal HTML-Files erzeugen will.
Liebe Grüße aus http://www.braunschweig.de
Tom