Christoph: behält nicht selected

Hallo,

ich habe ein multiple Feld was sich nach einem submit eigentlich das merken sollte was man ausgewählt hat, tut es aber leider nicht.
Hier mal mein Code:
<select size="3" name="av_require[]" multiple="multiple" class="fliesstext">
<?
$values3 = Array("Video VHS","Data Projector (Computer Projection)");
foreach($values3 as $id3)
{
 echo "<option value='".$id3."' ".(($id3 == $av_require)?" selected="selected"":"").">".$id3."";
}
?>
</select>

Was ist nur daran falsch?

Grüße

Christoph

  1. schon gelöst.

    1. Hallo,

      hättest das nicht früher posten können ;-??

      schon gelöst.

      ja toll, und wie?

      Grüsse
      Frankie

      1. Hallo,

        so:
        $values3 = Array("Video VHS","Data Projector (Computer Projection)");
        foreach($values3 as $id3)
        {
         if(in_array($id3, $_REQUEST['av_require']))
         {
          $selected = ' selected="selected"';
         }
         else
         {
          $selected = '';
         }
         print '<option value="'.$id3.'"'.$selected.'>'.$id3.'</option>'."\n";
        }

        Grüße

        Christoph

        1. hi,

          das kommt ja meiner Lösung sehr nahe :-)

          Eigentlich hatte ich gehofft, dass Du vielleicht eine andere Lösung gefunden hast. Hätte mich interessiert, denn man lernt ja nie aus.

          Schönen Tag noch.

          Grüsse
          Frankie

  2. Hallo,

    <select size="3" name="av_require[]" multiple="multiple" class="fliesstext">
    <?
    $values3 = Array("Video VHS","Data Projector (Computer Projection)");
    foreach($values3 as $id3)
    {
     echo "<option value='".$id3."' ".(($id3 == $av_require)?"

    ^^^^^^^^

    das geht so nicht, da $av_require ein Array ist, also die Bedingung niemals erfüllt wird.

    Eine weitere Fehlermöglichkeit wäre, dass z.B. register_globals off sind, aber vielleicht hast du das ja schon bedacht.

    Probiere mal:

    echo "<option value='".$id3."' ".((in_array($id3,$_REQUEST['av_require']))?" selected="selected"":"").">".$id3."\n";

    Natürlich kannst Du statt $_REQUEST auch $_POST bzw. $_GET nehmen.

    HTH.

    Grüsse
    Frankie