我有一个问题,我希望如果我在2016年注册学生,那么它会自动放入sample school_year(syearid)而不点击选择标记怎么做?
(school_year table has (syearid(pri), from_year,to_year))
from_year例如2015
和to_year例如2016
,如果计算机的年份是2016年,那么它将自动放入school_year(syearid)
这是我的代码:
学年
include('../connection/connect.php');
$result = $db->prepare("SELECT * FROM school_year");
$result->bindParam(':syearid', $res);
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
echo "<option value='".$row['syearid']."'>".$row['from_year'].'-'.$row['to_year']."</option>";
}
?>
</optgroup>
</select>
答案 0 :(得分:2)
要让HTML预先选择一个选项,它需要selected
属性。
像这样:
<select>
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
<option value="d" selected>D</option>
</select>
因此,您可以添加所选属性,以防$row['to_year']
等于服务器上的当前年份,date("Y")
使用类似这样的内容(未经测试):
$isSelected = ((date("Y") == $row['from_year']) ? " selected" : "");
echo "<option value='".$row['syearid']."'$isSelected>".$row['from_year'].'-'.$row['to_year']."</option>";
答案 1 :(得分:0)
您可以将selected="selected"
添加到应选择年份的选项中。然后,添加一个条件来决定何时包含该额外属性,如下所示:
$currentYear = date('Y');
for ($i=0; $row = $result->fetch(); $i++) {
$selectedAttr = "";
if ($row['from_year'] == $currentYear) {
$selectedAttr = "selected=\"selected\"";
}
echo "<option value='".$row['syearid']."' ". $selectedAttr .">".$row['from_year'].'-'.$row['to_year']."</option>";
}
请注意,我的条件是检查from_year
是否等于当前年份。如果我对您的问题的理解不正确,您可能需要更新此条件。