2016-05-11 20 views
1

in Tag php setzen Dropdownlist Wenn ich innerhalb der HTML die Option Wert festgelegt, es funktioniert:Wie für Schleifen

<select name="month" id="month" style="width: 110px;" required> 
    <option selected="selected" disabled="disabled" value="">Month</option> 
    <option value="01"<?= $month == '01' ? 'selected="selected"' : '';?>>January</option> 
    <option value="02"<?= $month == '02' ? 'selected="selected"' : '';?>>February</option> 
<Select> 

Aber ich weiß nicht, wie innerhalb einer PHP-Schleife, die die gleichen Sache zu tun : (falsch)

<?php 
    $row = 31; 
    echo "<select name='day' id='day' style='width: 90px;' required>"; 
    echo "<option selected='selected' disabled='disabled' value=''>Tanggal</option>"; 
    for ($i = 1; $i <= $row; $i++) { 
     echo "<option value=".$i." ". $day == $i ? 'selected="selected"' : ''.">".$i."</option>"; 
    } 
    echo "</select>"; 
?> 

Wenn ich das Element inspizieren, ist der Ausgang: 4 .....
Helfen Sie mir einstellen ausgewählt = ‚ausgewählt‘ innen für PHP

+0

für ($ i = 1; $ i <= $ Zeile; $ i ++) { \t if ($ tag == $ i) {$ attr = 'ausgewählt = "ausgewählt"';} else {$ attr = '';}; echo ""; } – Poria

Antwort

2

Sie besser den Logikteil wie so aufteilen:

for ($i = 1; $i <= $row; $i++) { 
    echo "<option value=" . $i . " "; 
    if ($day == $i) { 
     echo 'selected="selected"'; 
    } 
    echo ">".$i."</option>"; 
} 

Dies macht es arbeiten und besser lesbar

0

Es scheint, Ihre Logik ist okey, aber Sie brauchen Klammern in Ihrem wenn das wie folgt:

echo "<option value=".$i." ". ($day == $i ? 'selected="selected"' : '').">".$i."</option>";