繁体   English   中英

如何使用数据库中的动态输入在select语句中声明选定的选项?

[英]How to declare a selected option in select statement with a dynamic input from database?

我正在为一个小软件工具开发输入掩码。 因此,我有不同的可能性来允许用户提供他的输入(输入类型)。 我还有一个选择字段,用于从给定的排序顺序中选择答案。 这些答案是从我的数据库表中读取的。 它是动态的。

用户选择所有必要的输入后,他可以通过单击提交按钮(带有公式)来更新表中的值。 在这个点击过程之后,数据库中的值通过 SQL 更新,再次读取并给出。 因此,用户可以毫无问题地立即看到他的更改。

我的目标是在输入字段中显示更新的值,以便用户可以看到它们。 而这也没有问题。 但不是在选择框。 如果将选择框中的最后一个选定选项声明为选定选项,那就太完美了。 现在我的问题是:

是否可以在选择框中的动态列表中将选项声明为已选择?

<div class="select">
   <select name="strategy">
       <?php
           $resultSet=$conn->query("SELECT test_strategy FROM strategies");
              while ($rows = $resultSet->fetch_assoc()){
                 $strategy = $rows['test_strategy'];
                 echo "<option id='option' value='$strategy'>$strategy</option>";
            }
        ?>
   </select>
</div>

最初从数据库中获取更新的值并分配给变量示例:我使用 $FetchtheUpdatevalueformDB

<div class="select">
   <select name="strategy">
       <?php
           $resultSet=$conn->query("SELECT test_strategy FROM strategies");
              while ($rows = $resultSet->fetch_assoc()){
                  $Selected="";
                  if($FetchtheUpdatevariableformDB==$strategy){
                  $Selected="selected";
                  }
                 $strategy = $rows['test_strategy'];
                 echo "<option id='option' value='$strategy' ".$Selected.">$strategy</option>";
            }
        ?>
   </select>
</div>

基本上,您希望获取用户值以查看它是否匹配,然后您可以将selected选项应用于您的元素。

因此,您将需要一个变量,其中包含当前用户选择的test_strategy ,我猜它会保存在您的用户表中。 这只是一个简单的选择查询,就像您在上面所做的那样。

拥有它后,您可以在循环中放置一个if条件,例如:

<?php
$resultSet=$conn->query("SELECT test_strategy FROM strategies");
while ($rows = $resultSet->fetch_assoc()){
    $strategy = $rows['test_strategy'];
    if($usersStrategy == $strategy){
        echo "<option id='option' value='$strategy' selected>$strategy</option>";
    }
    else{
        echo "<option id='option' value='$strategy'>$strategy</option>";
    }
}
?>

暂无
暂无

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

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