• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

"select" vereinfachen / abkürzen

Reibold

New member
Moin,

ich schreibe grad an einem etwas umfangreicheren PHP-Programm. Insgesamt wird es ca. 30 Auswahlfehler geben, diese sind mit bis zu 100 Einträgen belegt und sehen dann z. B. zur Zeit so aus:

PHP:
<select name="AVr4" size="1" style="background-color:#FFFFFF; font-size:9px; color:#000000; border:0px solid #000000; text-align:left">
<option selected value="1"<?php echo (isset($_POST['AVr4']) && ($_POST['AVr4'] == 1)) ? ' selected="selected"' : ''; ?>>Markus</option>
<option value="2"<?php echo (isset($_POST['AVr4']) && ($_POST['AVr4'] == 2)) ? ' selected="selected"' : ''; ?>>Manni</option>
<option value="3"<?php echo (isset($_POST['AVr4']) && ($_POST['AVr4'] == 3)) ? ' selected="selected"' : ''; ?>>Fabian</option>
<option value="4"<?php echo (isset($_POST['AVr4']) && ($_POST['AVr4'] == 4)) ? ' selected="selected"' : ''; ?>>Daniel</option>
<option value="5"<?php echo (isset($_POST['AVr4']) && ($_POST['AVr4'] == 5)) ? ' selected="selected"' : ''; ?>>Beni</option>
<option value="6"<?php echo (isset($_POST['AVr4']) && ($_POST['AVr4'] == 6)) ? ' selected="selected"' : ''; ?>>Tim</option>
<option value="7"<?php echo (isset($_POST['AVr4']) && ($_POST['AVr4'] == 7)) ? ' selected="selected"' : ''; ?>>Andreas</option>
<option value="8"<?php echo (isset($_POST['AVr4']) && ($_POST['AVr4'] == 8)) ? ' selected="selected"' : ''; ?>>Randy</option>
…. bis 100

</select>

Kann man diese einzelne Belegung in irgendeiner Form abkürzen, z. B. mit einer Schleife? Das einzige, was die Auswahlfelder unterscheidet, ist der Name. Die Bezeichnungen, hier also die Jungen-Namen, sind immer gleich.

Mein Quelltext wird unfassbar lang, denn jeder Eintrag "kostet" mich z. Z. eine Zeile, bei 30 Auswahlfeldern mit je 100 Einträgen sind das gleich mal ... äh ... ~ 3.000 Zeilen...

Danke für Ideen / Tipps!
 
Zuletzt bearbeitet:
PHP:
$namen = array(1 => 'Markus', 2 => 'Manni'); // etc...

$testvariable = (isset($_POST['AVr4']))? (int)$_POST['AVr4']: 0;

foreach ($namen as $id => $name) {
  $selected = ($id == $testvariable)? 'selected="selected"': '';

  echo '<option value="'.$id.'" '.$selected.'>'.$name.'</option>';
}
 
Zurück
Oben