If Anweisung

JackyD

Erfahrenes Mitglied
Hallo @ all,
ich habe mehrer Select Felder, die sollen nach dem senden genau wieder den Wert eingestellt haben den sie vor dem Absenden hatten, allerdings sind das sehr viel if Aweisungen, die den Code sehr aufblasen.
Code:
if($i=="")
{
echo '<option value="" selected>Bitte wählen</option>';
}
else
{
echo '<option value="">Bitte wählen</option>';
}

if($i=="2")
{
echo '<option value="2" selected>2</option>';
}
else
{
echo '<option value="2">2</option>';
}
...
Und das für 9 Selectfelder mit jeweils 8 Optionen. Gibt es da ne andere Möglichkeit, dies im Code kleiner zusammenzufassen?
Folgendes habe ich schon probiert, ist aber nicht so gut, weil dan der Eintrag doppelt ist:
Code:
if($i!=="")
{
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo '<option value="">Bitte wählen</option>
....
 
Probier es doch mal so:
PHP:
for ($j=1;$j<9;$j++) //Hier noch die Grenzen anpassen
{
  if($i==$j)
  {
    echo '<option value="'.$j.'" selected>'.$j.'</option>';
  }
  else
  {
    echo '<option value="'.$j.'">'.$j.'</option>';
  }
}
 
Sorry, das war mein Fehler, ich habe oben zur vereinfachung Zahlen genommen, aber die Optionen sind auch Wörter oder <, > und =. Da wird dies nicht funktionieren, da es auf die Zahlen von 1-9 beruht.
Das sind die Werte, die das Select Feld haben kann.
Code:
<select name="row2">
<option value="">Bitte wählen</option>
<option value="Deutsch">Deutsch</option>
<option value="Englisch">Englisch</option>
<option value="Klasse">Klasse</option>
<option value="Unit">Unit</option>
<option value="Section">Section</option>
<option value="Gemacht">Gemacht</option>
<option value="Richtig">Richtig</option>
<option value="ID">ID</option>
</select>
 
Dann setze die Optionen in ein Array und gehe es mit einer for-each-Schleife nach gleichem Muster durch.
 
Ok danke ich probiers mal mit nem Array, wenn sich noch Fragen ergeben melde ich mich hier nochmal.
 
Zurück