Mailinglisten-Archive |
Reinhold Riedersberger schrieb:
> bin gerade am programmieren eines Formulares das unter anderem mehrere
> Auswahlfelder (Listbox) enthält.
>
> Nun möchte ich, daß für den Fall einer Änderung eines Datensatzes über
> dieses Formular die Vorgabewerte aus der Datenbank korrekt eingestellt
> werden. Insbesondere bei den Auswahlfeldern habe ich hier ein kleines
> Problemchen.
........
> Beispiel: Hr/Fr wählbar.
>
> Die Anrede "Herr" steht an erster Stelle der Auswahlliste.
> "Selected" soll für den zu ändernden Datensatz aber "Frau"
> sein, da dies im Datensatz bereits so eingetragen ist.
>
> Es gibt doch aber sicherlich schon Programmcode/Schnipsel die dieses
> Problem elegant gelöst haben. Nur wo finde ich diese?
Nicht wirklich elegant, aber eine meine ersten eigenen Funktionen macht
sowas ähnliches.
function auswahl_dropdown($schluessel, $wert, $tabelle,
$vorauswahl="", $bedingung="", $selectname="") {
$abfrageString = "SELECT $schluessel, $wert FROM $tabelle $bedingung
ORDER BY $wert";
$abfrage = safe_query($abfrageString);
if (!$selectname) {$selectname = $schluessel;}
if ($abfrage) {
echo "<select name=\"$selectname\">\n";
echo "<option value=\"0\">------------</option>\n";
while ($zeile=mysql_fetch_assoc($abfrage)) {
$aktuell="";
$aktKey = $zeile[$schluessel];
$aktWert = $zeile[$wert];
if ($aktKey == $vorauswahl)
{
$aktuell="selected=\"selected\"";
}
echo "<option value=\"$aktKey\" $aktuell>$aktWert -
$aktKey</option>\n";
}
echo "</select>\n";
}
}
Vielleicht kannst du daraus was ableiten.
Gruß
Susanne
php::bar PHP Wiki - Listenarchive