php - 使用来自 sql 的数据创建下拉列表并在调用 post 时保持选中的选项卡

标签 php mysql html-select

好的,这是我的问题:

我可以创建下拉列表,但是当我尝试将最后使用的选项卡设置为选中时,它会运行 while 查询并选择底部选项。

这是我的代码:

<?php
    $sql="SELECT id, description FROM sites"; 
    $result=mysql_query($sql); 

    $options=""; 

    while ($row=mysql_fetch_array($result)) { 
        $id=$row["id"]; 
        $thing=$row["description"];
        $thing2 = $_POST['thing'];
        $options.="<OPTION VALUE='if (isset($_POST['thing'])){ echo $thing2;  'selected='selected''}else{ echo $id}'>".$thing;
    }
?>

<form action="" method="post" />
    <SELECT NAME="thing" id="thing">
        <OPTION VALUE=0>All
        <?=$options ?>
    </SELECT> 
    <input type="submit" name="submit" value="Update"/>
</form>

如何将选定的选项卡设置为单击提交按钮后所在的选项卡?

最佳答案

$options.="<OPTION VALUE='if (isset($_POST['thing'])){ echo $thing2;  'selected='selected''}else{ echo $id}'>".$thing;

需要改成

$is_selected = isset($_POST["thing"]) && $_POST["thing"] == $id;
$options.="<OPTION VALUE='".$id."'".($is_selected?" selected='selected'":"").">".$thing."</OPTION>";

关于php - 使用来自 sql 的数据创建下拉列表并在调用 post 时保持选中的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660787/

相关文章:

javascript - Firefox selectedIndex on select 在悬停时更改

javascript - 按值对 Html Select 的选项进行排序的最有效方法是什么,同时保留当前选定的项目?

php - 使用 php 和 mysql 对 mysql 数据库进行高级排序和搜索

PHP/MySQL : simultaneous queries inside WHILE loop?

MySql 查询 - 查找数据库中缺少的内容

javascript - 如何在 Javascript 的 SELECT 元素中设置或选择选项

php - 显示自定义帖子类型标题的列表

php - 未定义索引 (Laravel)

php - 是否可以从多个页面接收 $_GET?

php - 连接/显示具有相同列名的多个表