2016-08-13 3 views
-1

Как я могу заполнить выбор DropDown с использованием значения прошлого года (2016) в качестве выбранного значения по умолчанию?Выберите Динамическое значение из раскрывающегося списка, используя PHP

<?php 
 
\t $last_year = date ("Y"); 
 
\t print "<select>"; 
 
\t for($i = 2004; $i <= $last_year; $i++) { 
 
\t \t echo "<option selected=\"$last_year\" value=\"$i\">$i</option>\n"; 
 
\t }; 
 
\t print "</select>"; 
 
?>

Спасибо!

+0

я нашел аналогичное требование и решение в ссылке ниже. http://stackoverflow.com/questions/34206981/php-loop-for-year-dropdown –

+0

Sidenote: 'echo' использует один символ меньше, чем' print' (больше напряжения на пальцах). Вы можете видеть различия в этом Q & A http://stackoverflow.com/questions/1647322/whats-the-difference-between-ech-print-and-print-r-in-php и http://stackoverflow.com/ Вопросы/7094118/reference-comparing-phps-print-and-echo - Если вы печатаете то, что вы действительно хотите использовать, тем больше у вас силы. –

ответ

2
<?php 
    $last_year = date ("Y"); 
    print "<select>"; 
    for($i = 2004; $i <= $last_year; $i++) { 
     $selected = ($last_year == $i) ? 'selected="selected"' : ''; 
     echo "<option $selected value=\"$i\">$i</option>\n"; 
    } 
    print "</select>"; 
    ?> 

Если я прав, вы должны работать на вас. То, что вы сделали, - это выбирать каждый год, а не только последний.

+0

Для справки вы можете редактировать удаленные ответы, а затем восстанавливать их, а не отвечать дважды – RiggsFolly

+0

Спасибо, но ikr случайно нажал не ту кнопку. Me brainfart ^.^ –

+1

LOL, ok no problem – RiggsFolly

1

делают сравнение в цикле, как это:

for($i = 2004; $i <= $last_year; $i++) { 
    if($i == $last_year){ 
     $sel = 'selected=selected'; 
    } else { 
     $sel = ''; 
    } 
    echo "<option value='$i' $sel>$i</option>\n"; 
}; 
+0

Вы не должны назначать значение null, если это не правильный год, просто введите пустую строку, чтобы предотвратить ошибки –

+0

I' так делали это годами без каких-либо проблем. – Dave

+1

@Dave В другой части редактируйте это значение «null» для какого-либо другого значения, для безопасной обработки кода я принимаю, что другое условие не будет назначено, но для качества кода и во избежание нарушения безусловного сценария назначьте пустое значение. Спасибо –

Смежные вопросы