我不知道如何实现这一点,所以我需要帮助。我有这个代码:
<select>
<option>Sunday</option>
<option>Monday</option>
/* this option goes down to Saturday */
</select>
用户必须选择一个插入数据库的选项,让我们假设用户选择星期二,并希望稍后对其进行编辑。现在我希望该选项将在星期二可见,例如:
<select>
<option>Sunday</option>
<option>Monday</option>
<option>Tuesday</option> /* this option will be the visible option before the user opens the selection */
</select>
我想通过PHP实现这一点,并且分配给输出的数据库信息的变量是$day
,所以$day = 'Tuesday';
,请问我该如何实现?
要在PHP中做到这一点,可以执行
<select>
<option <?PHP echo $day=='Sunday' ? '"selected=selected"' : ''); ?>>Sunday</option>
<option <?PHP echo $day=='Monday' ? '"selected=selected"' : ''); ?>>Monday</option>
<option <?PHP echo $day=='Tuesday' ? '"selected=selected"' : ''); ?>>Tuesday</option>
...
</select>
但它不是很优雅,而且很难编码,更重要的是,如果选择的内容超过了一周中的七天,则将保持。
因此,使用一个日期名称数组和foreach循环以及包含用户选择的日期的$day
变量。
<?php
$dow = array('Sunday','Monday','Tuesday','Wednesday',
'Thursday','Friday','Saturday');
?>
<select name="DayOfWeek">
<?php
foreach ( $dow as $d ) :
$sel = $d == $day ? 'selected="selected"' : '';
echo "<option $sel>$d</option>";
endforeach;
?>
</select>
你可以试试这个例子,你可以申请所有的选择选项
<select>
<option <?PHP echo ($day=='Tuesday' ? selected : ""); ?>>Tuesday</option>
</select>