Hallo!
Dass das "hässlich" ist, weiß ich. Wie kann man so etwas anders umsetzen?
- Indem man sich nicht wiederholt (Don’t repeat yourself – DRY), sondern eine for-Schleife benutzt, um die option-Elemente zu erzeugen. Grundlage kann eine Datenstruktur, z.B. ein Array mit (assoziativen) Arrays sein. Oder die Schleife zählt einfach Zahlen hoch. Dabei entsteht meist ein HTML-String, den man dann ausgibt.
$selected = 5;  
$html = '';  
for ($i = 1; $i <= 5; $i++) {  
  $html .= '<option value="' . $i . '"' . ($i == $selected ? ' selected' : '') . '>' . $i . "</option>\n";  
}  
echo $html;
Disclaimer: Ich kann kein PHP. Ungetesteter beispielhafter Code.
- 
Mit Templating-Sprachen, die das Notieren von Wiederholungen vereinfachen. Sie sorgen auch für das korrekte Escaping von Werten. Ist nicht so hässlich wie das händische Zusammenbauen von Strings (siehe oben). 
- 
Mit objektorientierter Programmierung. Mit Formular-Widget-Klassen, die eine Datenstruktur entgegennehmen und das entsprechende HTML rendern. PHP-Webframeworks bringen sowas mit sich. 
Grüße
Mathias
 nicht angemeldet
 nicht angemeldet MudGuard
 MudGuard