Shooter2k
Erfahrenes Mitglied
Hallo Forum,
es geht um eine multiple select listBox.
Anhand eines Arrays wird die listBox mit Inhalten versehen.
Sowie die gewählten werte als selected in einem zusätzlichen Array.
Also zB .
alle Inhalte :
-------------------
Array1
$all_kitchen = array("Mexikanisch", "Deutsch", "Italienisch", "Vegetarisch", "Fast Food");
Gewählte(selected) Inhalte:
----------------
Array2
$s_kitchen = array("Fast Food", "Italienisch");
Das Ergebis soll wie folgt aussehen :
Eine SelectBox mit allen Küchen und die Küchen, die gewählt worden sind, werden als selected angezeigt.
Interpretiert muss es später so aussehen :
Hier ist mein PHP Code dazu :
Dieser Code funktionert schon fast Also es werden alle Küchen richtig selected, nur gibt es bei den weiteren Küchen in der ausgabe die nicht selected sind, genau EINEN doppelten wert. Der also selected ist aber auch gleichzeitig als nicht selected bei den weiteren küchen erscheint.
Das ist die Ausgabe des aktuellen PHP Codes:
Also 2 Mal Italienische Küche
Irgendwo zählt er also einmal zu viel.
Kann mir jemand helfen ?
Danke
gruß Henry
es geht um eine multiple select listBox.
Anhand eines Arrays wird die listBox mit Inhalten versehen.
Sowie die gewählten werte als selected in einem zusätzlichen Array.
Also zB .
alle Inhalte :
-------------------
Array1
$all_kitchen = array("Mexikanisch", "Deutsch", "Italienisch", "Vegetarisch", "Fast Food");
Gewählte(selected) Inhalte:
----------------
Array2
$s_kitchen = array("Fast Food", "Italienisch");
Das Ergebis soll wie folgt aussehen :
Eine SelectBox mit allen Küchen und die Küchen, die gewählt worden sind, werden als selected angezeigt.
Interpretiert muss es später so aussehen :
Code:
<select name="kitchen" size="5" multiple class="edit_option_multi">
<option selected>Fast Food</option>
<option selected>Italienisch</option>
<option>Vegetarisch</option>
<option>Mexikanisch</option>
<option>Deutsch</option>
</select>
Hier ist mein PHP Code dazu :
PHP:
<?
if($_GET['edit']==true){
$benutzer -> set_kitchen($id);
// array sprachen selected
$kitchen = $benutzer -> show_kitchen2();
// array alle sprachen
$kueche = getKitchen();
?>
<select name="kitchen" size="5" multiple class="edit_option_multi">
<?
for($i=0;$i<count($kueche);$i++)
{
if($i<count($kitchen)){
echo "<option selected>$kitchen[$i]</option>";
} else {
echo "<option>$kueche[$i]</option>";
}
}
?>
</select>
<?
} else {
$benutzer -> set_kitchen($id);
$benutzer -> show_kitchen();
}
?>
Dieser Code funktionert schon fast Also es werden alle Küchen richtig selected, nur gibt es bei den weiteren Küchen in der ausgabe die nicht selected sind, genau EINEN doppelten wert. Der also selected ist aber auch gleichzeitig als nicht selected bei den weiteren küchen erscheint.
Das ist die Ausgabe des aktuellen PHP Codes:
Code:
<select name="kitchen" size="5" multiple class="edit_option_multi">
<option selected>Fast Food</option>
<option selected>Italienisch</option>
<option>Vegetarisch</option>
<option>Mexikanisch</option>
<option>Deutsch</option>
<option>Italienisch</option>
</select>
Irgendwo zählt er also einmal zu viel.
Kann mir jemand helfen ?
Danke
gruß Henry
Zuletzt bearbeitet: