Optionfeld bei Änderung schon ausgewählt
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abstract
antwort
bauen
benutzten code
code
dank
datenbank
datensatz
definieren
eingetragene kategorie
feld
formular
kategorie
kleines problem
option
rezept
unterschiedlichen kategorien
url
verschiedenen kategorien
vorhaben
-
Hallo !
Ich habe ein kleines Problem, und zwar habe ich verschiedene Datensätze in der Datenbank mit unterschiedlichen Kategorien. Wenn ich jetzt einen Datensatz ändere (dafür habe ich schon ein Formular, wo die verschiedenen Kategorien in einem option-Feld sind) will ich, dass die jeweils eingetragene Kategorie-ID im option-Feld schon ausgewählt ist.
Die Kategorien haben jeweils eine Kategorie-ID.
Ich habe schon danach gesucht, aber nichts gefunden.
Wie kann ich sowas denn machen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
php-oop schrieb:
Hallo !
Ich habe ein kleines Problem, und zwar habe ich verschiedene Datensätze in der Datenbank mit unterschiedlichen Kategorien. Wenn ich jetzt einen Datensatz ändere (dafür habe ich schon ein Formular, wo die verschiedenen Kategorien in einem option-Feld sind) will ich, dass die jeweils eingetragene Kategorie-ID im option-Feld schon ausgewählt ist.
Die Kategorien haben jeweils eine Kategorie-ID.
Ich habe schon danach gesucht, aber nichts gefunden.
Wie kann ich sowas denn machen?
Um eine option im select als ausgewählt zu definieren musst du selected benutzten:
<select> <option>Option 1</value> <option selected>Option 2</value> </select>
Das würde dazu führen, dass Option 2 in diesem Fall vorausgewählt ist.
Ich hoffe das war was du gesucht hast...?!
Beitrag zuletzt geändert: 21.2.2012 14:56:21 von alfr3d -
alfr3d schrieb:
php-oop schrieb:
Hallo !
Ich habe ein kleines Problem, und zwar habe ich verschiedene Datensätze in der Datenbank mit unterschiedlichen Kategorien. Wenn ich jetzt einen Datensatz ändere (dafür habe ich schon ein Formular, wo die verschiedenen Kategorien in einem option-Feld sind) will ich, dass die jeweils eingetragene Kategorie-ID im option-Feld schon ausgewählt ist.
Die Kategorien haben jeweils eine Kategorie-ID.
Ich habe schon danach gesucht, aber nichts gefunden.
Wie kann ich sowas denn machen?
Um eine option im select als ausgewählt zu definieren musst du selected benutzten:
<select> <option>Option 1</value> <option selected>Option 2</value> </select>
Das würde dazu führen, dass Option 2 in diesem Fall vorausgewählt ist.
Ich hoffe das war was du gesucht hast...?!
Danke für die Antwort !
Das war aber nicht genau das, was ich suche.
Mein Problem besteht darin, das Feld schon ausgewählt zu haben, welches die richtige Kategorie anzeigt.
Also bei jedem Datensatz ist es ein anderes, also eine andere Kategorie.
Ich habe leider garkeine Idee, wie ich das machen kann. -
Wie ließt du denn die Kategorie aus?
Du musst eben überprüfen ob die ausgelesene Kategorie der Option im Select entspricht und in diesem Fall das selected ausgeben.
Deinem Namen nach, dachte ich das würdest du selbst hinbekommen.
Es könnte evtl so aussehen:
//KategorieId (bei dir aus Datenbank) $catId = 1; //Selectfeld bauen echo "<select>"; for ($i=0; $<2; $i++) { if ($i == $catId) { echo "<option value=\"".$i."\" selected>Kategorie ".$i."</option>"; } else { echo "<option value=\"".$i."\">Kategorie ".$i."</option>"; } } echo "</select>";
Ist jetzt nicht die sauberste Lösung aber sollte das Vorhaben verdeutlichen!
Beitrag zuletzt geändert: 21.2.2012 17:03:51 von alfr3d -
alfr3d schrieb:
Wie ließt du denn die Kategorie aus?
Du musst eben überprüfen ob die ausgelesene Kategorie der Option im Select entspricht und in diesem Fall das selected ausgeben.
Deinem Namen nach, dachte ich das würdest du selbst hinbekommen.
Es könnte evtl so aussehen:
//KategorieId (bei dir aus Datenbank) $catId = 1; //Selectfeld bauen echo "<select>"; for ($i=0; $<2; $i++) { if ($i == $catId) { echo "<option value=\"".$i."\" selected>Kategorie ".$i."</option>"; } else { echo "<option value=\"".$i."\">Kategorie ".$i."</option>"; } } echo "</select>";
Ist jetzt nicht die sauberste Lösung aber sollte das Vorhaben verdeutlichen!
Hi !
Danke für die Antwort !
Ich habe versucht, es an mich anzupassen, aber irgendwie funktioniert es nicht.
Ich poste hier mal den Code, wie ich es derzeit mache:
$kategorie_query = "SELECT * FROM dl_rezept_kategorien"; $res = $abstract->query ( $kategorie_query ); while ( $kategorie = $abstract->fetchRow () ) { ?> <option value="<?php echo $kategorie ['id']; ?>"><?php echo $kategorie ['name']; ?></option> <?php } ?>
Kannst du mir es entsprechend umbauen? -
$rezept_query = "SELECT * FROM dl_rezept WHERE id = 1"; $rezept_res = $abstract->query ( $rezept_query ); $rezept= $rezept_res->fetchRow (); $kategorie_query = "SELECT * FROM dl_rezept_kategorien"; $kategorie_res = $abstract->query ( $kategorie_query ); while ( $kategorie = $kategorie_res->fetchRow () ) { ?> <option <?php echo (($rezept['kat_id']== $kategorie ['id'])?'selected="selected" ':'')?>value="<?php echo $kategorie ['id']; ?>"><?php echo $kategorie ['name']; ?></option> <?php } ?>
Beitrag zuletzt geändert: 21.2.2012 18:33:04 von dexus85 -
dexus85 schrieb:
$rezept_query = "SELECT * FROM dl_rezept WHERE id = 1"; $rezept_res = $abstract->query ( $rezept_query ); $rezept= $rezept_res->fetchRow (); $kategorie_query = "SELECT * FROM dl_rezept_kategorien"; $kategorie_res = $abstract->query ( $kategorie_query ); while ( $kategorie = $kategorie_res->fetchRow () ) { ?> <option <?php echo (($rezept['kat_id']== $kategorie ['id'])?'selected="selected" ':'')?>value="<?php echo $kategorie ['id']; ?>"><?php echo $kategorie ['name']; ?></option> <?php } ?>
Danke, nach ein paar Anpassungen habe ich es hinbekommen ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage