#php #date #drop-down-menu
#php #Дата #выпадающее меню
Вопрос:
У меня есть этот запрос ниже, который является выпадающим для года (с 1900 по текущий). Я использую переменную $, чтобы сначала отобразить ранее выбранный год в раскрывающемся списке формы редактирования. Это работает, за исключением того, что для всех остальных лет 2011 также повторяется с ними. Как мне настроить его так, чтобы сначала отображался $ y, а затем все годы под ним?
Код:
<select name="year">
<?PHP for($i=date("1900"); $i<=date("2011"); $i )
if($year == $i)
echo "<option value='$y' selected>$y</option>
<option value='$i' selected>$i</option>";
else
echo "<option value='$y' selected>$y</option>
<option value='$i'>$i</option>";
?>
</select></td>
</tr>
Комментарии:
1.
$y
Должно быть$year
?2. Кроме того, почему вы делаете
date("1900")
вместо just1900
?3. 1 @Michael, я не понимаю этот цикл for. Мне кажется, что он зацикливает много дат.
Ответ №1:
Сохраняйте простоту:
<select name="year">
<?php for($i=1900; $i<=date('Y'); $i ) {
if($i == date('Y'))
echo "<option value='$i' selected='selected'>$i</option>";
else
echo "<option value='$i'>$i</option>";
}
?>
</select></td>
</tr>
Или даже лучше:
<select name="year">
<?php for($i=1900; $i<=date('Y'); $i )
echo "<option value='$i' ".(($i == date('Y')?'selected="selected"':'')).">$i</option>";
?>
</select></td>
</tr>
И наоборот
<select name="year">
<?php for($i=date('Y'); $i>=1900; $i--)
echo "<option value='$i' ".(($i == date('Y')?'selected="selected"':'')).">$i</option>";
?>
</select></td>
</tr>
Ответ №2:
<select name="year">
<?PHP
echo "<option value='$year' selected>$year</option>
for($i=1900; $i<=2011; $i )
if($year != $i)
echo "<option value='$i'>$i</option>";
<option value='$i'>$i</option>";
?>
</select></td>
</tr>
Комментарии:
1. Спасибо! и как мне его отменить? вместо 1900-2011 как мне сделать 2011-1900? я пробовал swtiching, но это не работает.
2. Вы должны изменить
for
строкуfor($i=2011; $i<=1900; $i--)
, чтобы это считалось «назад».
Ответ №3:
Не уверен, что $y
это такое, но я думаю $year
, это текущий год:
<select name="year">
<?php
for($i=date("1900"); $i<=date("2011"); $i )
{
if($year == $i)
echo '<option value="'.$i.'" selected="selected">'.$i.'</option>';
else
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
</select>