Matthias Fleischer: Übergabe eines arrays mittels Formular

Beitrag lesen

Um das erstmal klar zu kriegen:
Ich vermute, Du möchtest die gleiche Selectbox mit der gleichen Vorauswahl wieder anzeigen?

Nunja, zunächstmal werden nur die Werte als Array übergeben, die auch ausgewählt wurden. Nehmen wir also an, jemand kann dort die Wochentage wählen und klickt Mo, Di, und Do. an. Dann werden als Array die Werte für diese 3 Tage übergeben.
Willst Du also die gleiche Auswahl nochmal anzeigen, mußt Du alle Optionen nochmal ausgeben und prüfen, welche auch in dem übergebenen Array enthalten waren:

Beispielfunktion:

function select_wochentage($name, $wochentage, $selected = Array())
{
 $output = "\n<SELECT NAME="".$name."[]" MULTIPLE="multiple" SIZE="7">";

for ($i = 0; $i < @sizeof($wochentage); $i++)
 {
  $output .= "\n<OPTION VALUE="$i"";
  if (@in_array($i, $selected))
  {
   $output .= " SELECTED="SELECTED"";
  }
  $output .= ">".$wochentage[$i]."</OPTION>";
 }

$output .= "\n</SELECT>";

return($output);
}

Ok, ich geb zu: das mit den Wochentagen war mehr als ein beliebiges Beispiel, denn das Problem hatte ich schonmal *g*

P.S.: Da ich da eben nochmal on-the-fly dran editiert hab, übernehm ich keine Verantwortung für kleiner Tippfehler ;)