Php 根据post请求选择选择列表
拜托,我对php有点陌生,请容忍我。 我有一个选择框Php 根据post请求选择选择列表,php,html,Php,Html,拜托,我对php有点陌生,请容忍我。 我有一个选择框 <select name="criteria"> <option value="1">Student ID</option> <option value="2">Firstname </option> <option value="3">Lastname</option> <option v
<select name="criteria">
<option value="1">Student ID</option>
<option value="2">Firstname </option>
<option value="3">Lastname</option>
<option value="6">All</option>
</select>
<input name="searchvalue" type="text">
<input name="search" type="submit" value="Search">
学生证
名字
姓氏
全部的
当我在post请求后使用特定选项搜索时,所选选项通常默认为Student ID。但我希望它仍然保留我搜索时使用的选项。如有任何建议,将不胜感激。
<select name="criteria">
<option value="1" <?php if ($_POST["criteria"] == 1) echo "SELECTED"; ?>>Student ID</option>
<option value="2" <?php if ($_POST["criteria"] == 2) echo "SELECTED"; ?>>Firstname </option>
<option value="3" <?php if ($_POST["criteria"] == 3) echo "SELECTED"; ?>>Lastname</option>
<option value="6" <?php if ($_POST["criteria"] == 6) echo "SELECTED"; ?>>All</option>
</select>
>名字
>全部
真的很难看,但这是可行的。您需要检查
$\u POST
数组并选择相应的选择项
<?php
$criteria = isset($_POST['criteria']) ? $_POST['criteria']: 0;
?>
<select name="criteria">
<option value="1" <?php echo ($criteria == '1') ? 'selected="selected"': ''; ?>>Student ID</option>
<option value="2" <?php echo ($criteria == '2') ? 'selected="selected"': ''; ?>>Firstname </option>
<option value="3" <?php echo ($criteria == '3') ? 'selected="selected"': ''; ?>>Lastname</option>
<option value="6" <?php echo ($criteria == '6') ? 'selected="selected"': ''; ?>>All</option>
</select>
>名字
>全部
老实说,我会稍微调整一下您的选择代码,以便进行更动态的编辑
<?php
$options = array('1'=>'Student ID', '2'=>'Firstname', '3'=>'Lastname', '6'=>'All');
?>
<select name="criteria">
<?php
foreach($options as $key=>$value){
$addtItem = '';
if(isset($_POST['criteria']) && $_POST['criteria']==$key){
$addtItem = 'selected="selected"';
}
echo('<option '.addtItem.' value="'.key.'">'.$value.'</option>');
}
?>
</select>
通过这种方式,您可以快速添加更多值,而无需大量重复代码。是的,从第一眼看,我知道这是可行的。我喜欢你的实施。谢谢