提交后,将值保留在<select> for循环中

时间:2017-12-17 10:18:26

标签: php forms

如果表单提交不完整,我试图使用for循环选项保留我的select中的值。它将值插入到数据库中并且功能完全正常但我不希望人们在提交表单不完整时再次填写所有for循环选择。 如果(!空($ _ POST [ '高度'])){     $ height = $ _POST ['height']; } &lt; select class =“form-control selectpicker”name =“height”&gt;     &lt; option value =“”已禁用所选&gt;选择您的身高&lt; /选项&gt;         &LT; PHP         for($ i = 1; $ i&lt; = 250; $ i ++)         {&GT?;     &lt; option value =“&lt;?php echo $ i;?&gt;”&gt;&lt;?php echo $ i;?&gt; cm&lt; / option&gt;         &LT; PHP         }         ?&GT; &LT; /选择&GT; 我的其他选择功能完美: &LT; PHP 如果(isset($ _ POST [ '城市'])){ $ city = $ _POST ['city'];}?&gt;  &lt; select class =“form-control selectpicker”name =“city”value =“”&gt;   &lt; optgroup label =“Thailand”&gt;    &lt;选项已禁用&gt;选择A City&lt; / option&gt;    &LT;选项     &LT; PHP     if(isset($ city)&amp;&amp; $ city ==“Bangkok”)echo“selected”;?&gt;     &GT;曼谷&LT; /选项&GT;    &lt; option&lt;?php     if(isset($ city)&amp;&amp; $ city ==“Phuket”)echo“selected”;?&gt;     &GT;布吉&LT; /选项&GT;    &lt; option&lt;?php     if(isset($ city)&amp;&amp; $ city ==“Pattaya”)echo“selected”;?&gt;     &GT;芭堤雅&LT; /选项&GT;   &LT; / OPTGROUP&GT;  &LT; /选择&GT; 基本上我想要实现与City选择相同的结果,但是在Height选择中使用for循环。 我花了最近几天的时间研究并尝试实现不同的代码和策略以使其工作,但我仍然无法使其正常运行。非常感谢任何帮助,如果需要更多代码或解释,我将很乐意提供。

1 个答案:

答案 0 :(得分:2)

您在$height中增加了价值。但在选择中,您还没有使用它来保留选定的值。更改您的下拉高度,如下所示 -

if(!empty($_POST['height'])){
    $height = $_POST['height'];
}
<select class="form-control selectpicker" name="height">
    <option value="" disabled selected>Select Your Height</option>
        <?php
        for ($i=1; $i<=250; $i++)
        {?>
    <option value="<?php echo $i;?>" <?php if (isset($height) && $height==$i) echo "selected";?>><?php echo $i;?>cm</option>
        <?php
        }
        ?>
</select>