选择零钱选择的有载条目

时间:2019-06-13 21:26:07

标签: php select get

我有一个带有选择的表单,该表单在更改时向php查询提交值,但是我遇到两个问题。

在任何阶段,我似乎都无法提交选择列表中的第一个条目,并且当我选择任何其他条目时,尽管查询确实返回了该值的正确数据,但选择本身将第一个条目显示为选择,理想情况下,我希望它显示选择的实际条目。

<form action=" " method="get">
<select class="form-control select2-single " id="p1" name="projects" 
onchange="this.form.submit()">
echo "<option value='$project_id'>$project_name</option>"; 
</form>



if(!isset($_GET["projects"])){
$project = 1;} else {
$project = $_GET["projects"];
$query = "SELECT * FROM items WHERE item_id = $project";
}}

预期:

  • 从选择中选择第一项时,该值应发送到php查询。

  • ,并且从选择中选择一个项目时,该项目应显示为选中状态。

实际:

  • 选择第一个选项不起作用
  • 选择第二个选项确实会返回正确的数据,但未选择

1 个答案:

答案 0 :(得分:0)

当值不变时,onchange不会触发。添加一个空白项将使您摆脱困境。也许是Java脚本库。

$options = [1,2,3,4];
echo '<form method="get">
<select class="form-control select2-single " id="p1" name="projects" onchange="this.form.submit()">
<option value=""></option>';

foreach($options as $option){
    $selected = '';
    if($_GET['projects'] == $option){
        $selected = 'selected';
    }
    echo "<option value='$option' $selected >$option</option>";
}
echo '<select/></form>';
print_r($_GET);

您愿意接受sql注入,需要使用预配对的语句bobby Tables