简体   繁体   English

PHP下拉列表在重新加载时保持

[英]PHP Dropdown list maintain on reload

I am new to PHP and have just started the professional development in this language. 我是PHP的新手,刚刚开始使用这种语言进行专业开发。 I have created a dynamic dropdown list in php as under: 我已经在php中创建了一个动态下拉列表,如下所示:

$sql="select DISTINCT State from branchinfo";
    $result = $conn->query($sql);
    if($result->num_rows > 0)
    {
        echo "< SELECT NAME='states'>";
        while($row=$result->fetch_assoc())
        {
            echo "< OPTION NAME = '" . $row['State'] . "'" . " VALUE = '" . $row['State'] . "'>" . $row["State"]; 
        }<br>
        echo "< /SELECT>";
    }
    echo "< INPUT TYPE='submit' name='submit' value='submit'>";

Problem is when I select a state and click on submit, the list reloads and my selection is lost, the first option gets selected by default. 问题是当我选择一种状态并单击“提交”时,列表会重新加载而我的选择丢失,默认情况下第一个选项被选中。 I have tried to embed the script within OPTION but it didn't worked, I tried it as under: 我试图将脚本嵌入OPTION中,但没有成功,我尝试如下操作:

    echo "< OPTION NAME='" . $row['State'] . "'" . " VALUE='" . $row['State'] . "'" . if(isset($_POST["submit"])){ if($_POST["states"] == $row['State']) echo "selected";} . " >" . $row["State"];<br>

I am not using any javasrcipt / jquery till now on this page and not planning to use it either. 到目前为止,我在此页面上尚未使用任何javasrcipt / jquery,也不打算使用它。 plz provide a solution within this code. 请在此代码内提供解决方案。 Please help. 请帮忙。

Some additional information 一些其他信息

The mthod i tried as mentioned above, works fine on hardcoded static drop downlist items written in html form. 我如上所述尝试过的方法在以html形式编写的硬编码静态下拉列表项上工作正常。 It stops working for dynamically generated list. 它停止为动态生成的列表工作。

You have to add dropdown inside form tag, then it will work. 您必须在form标签内添加dropdown,然后它才能工作。

$sql = "select DISTINCT State from branchinfo";

$result = $conn->query($sql);

echo "<form method='POST'>";

if ($result->num_rows > 0) {

    echo "<SELECT NAME='states'>";

    while ($row = $result->fetch_assoc()) {

        $sel = ( $_POST['states'] == $row['State'] ) ? "selected" : "";

        echo "< OPTION NAME = '" . $row['State'] . "'" . " VALUE = '" . $row['State'] . "' " . $sel . ">" . $row["State"] . "</OPTION>";
    }
    echo "</SELECT>";
}
echo "<INPUT TYPE='submit' name='submit' value='submit'>";
echo "</form>";

Use session to remember your choice. 使用会话来记住您的选择。 And when the page is reloaded just retrieve your previous selected value. 重新加载页面后,只需检索您先前选择的值即可。

like 喜欢

    while($row=$result->fetch_assoc())
        {
if($sessionvalue==$row['State']){
echo "< OPTION SELECTED NAME = '" . $row['State'] . "'" . " VALUE = '" . $row['State'] . "'>" . $row["State"]; 
}else{
echo "< OPTION NAME = '" . $row['State'] . "'" . " VALUE = '" . $row['State'] . "'>" . $row["State"]; 
}

        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM