我的更新表单中有一个下拉列表,因此当我选择要更新的行时,该值会自动填入下拉列表中。所以,我想要的是,如果员工现在那么只有缺席应该显示在下拉列表中和反之亦然。 这里是代码段:
<td>
<select name="Status" id="Status" class='form-control' required autofocus>
<?php
if (isset($_SESSION["state"])) {
foreach ($_SESSION['state'] as $states) {
echo "<option value='$states'>$states</option>";
}
}
?>
<option value="Present"<?= $state == "Present" ? ' selected="selected"' : '' ?>> Present </option>
<option value="Absent"<?= $state == "Absent" ? ' selected="selected"' : '' ?>> Absent </option>
</select>
</td>
因此,如果现在出现在会话值中,那么根据下拉列表中只显示缺席。
答案 0 :(得分:1)
你甚至不需要for循环
<?php
if (isset($_SESSION["state"])) {
if($_SESSION['state']=="Present"){
echo "<option value='Absent' selected='selected'>Absent</option>";
}
else
{
echo "<option value='Present' selected='selected'>Present</option>";
}
?>
</select>
</td>
<?php } ?>
答案 1 :(得分:1)
虽然你想显示其中一个选项,所以使用if语句根据条件选择其中一个如果它存在,那么显示这个,如果不存在则显示一个
<?php
if($state=="Present"){
?>
<option value="Present" selected="selected"> Present </option>
<?php
}
else{
?>
<option value="Absent" selected="selected"> Absent </option>
<?php
}
?>