如何使用 PHP 在多个下拉表单数据库中显示相同的记录?

Posted

技术标签:

【中文标题】如何使用 PHP 在多个下拉表单数据库中显示相同的记录?【英文标题】:How to display same records in multiple drop down form database using PHP? 【发布时间】:2017-05-14 10:59:13 【问题描述】:

我有两个下拉菜单,我可以在数据库的一个下拉菜单中显示记录。我得到第二个下拉列表银行。我必须在第二个下拉列表中显示相同的记录,但它没有显示。如果我删除第一个下拉菜单,则记录将显示在第二个下拉菜单中。我没有改变任何想法,只需复制粘贴代码即可。您能帮我吗?

  <?php
    $sql_emails="SELECT * FROM request";
    $result_emails = $conn->query($sql_emails);

    //first drop down 
  ?>
    <select class="selectpicker" name="first" data-live-search="true">
          <option style="color:#bbb;" value="" disabled selected>Select emails</option>
        <?php while($row = mysqli_fetch_array($result_emails))  ?>
               <option value="<?php echo $row['Email'];?>"><?php echo $row['Email'];?></option>
        <?php  ?>
    </select>
    <?php mysqli_data_seek( $result_emails, 0 );  ?>
    <select class="selectpicker" name="second" data-live-search="true" id="learner-emails">
        <option style="color:#bbb;" value="" disabled selected>Select emails</option>
        <?php while($row = mysqli_fetch_array($result_emails)) ?>
        <option value="<?php echo $row['Email'];?>"><?php echo $row['Email'];?></option>
        <?php  ?>
    </select>

【问题讨论】:

感谢阿米特先生的回复,添加了姓名。 【参考方案1】:
mysqli_data_seek( $result_emails, 0 ); use this before second dropdown

【讨论】:

酷!简单易行。感谢Nishant Saini先生的帮助 @NarendraVerma 请随时将其标记为答案 Nishant 先生,您能解释一下吗?如果我需要一个以上的下拉结果,我应该每次都使用您的代码吗? 您可以通过两种方式实现此目的 1. mysqli_data_seek() 函数第二个 2. 第一次获取数据时将数据保存在数组中。并根据您的要求使用该数组。在第一种情况下,您必须从位置 0 重新启动查询指针,使用必须使用 mysqli_data_seek() 函数【参考方案2】:

将行放入脚本开头的数组中。

$rows = [];
while($row = mysqli_fetch_array($result_emails))
    $rows[] = $row;

然后,在 html 部分,循环遍历数组。您可以根据需要循环多次。您不能对查询结果执行此操作。

<?php foreach($rows as $row):;?>
<option value="<?php echo $row['Email'];?>"><?php echo $row['Email'];?></option>
<?php endfor;?>

【讨论】:

【参考方案3】:

mysqli_fetch_array() 每次调用时都会将指针向前移动。您需要mysqli_data_seek() 将指针设置回起点,然后再次调用mysqli_fetch_array()

【讨论】:

以上是关于如何使用 PHP 在多个下拉表单数据库中显示相同的记录?的主要内容,如果未能解决你的问题,请参考以下文章

具有多个搜索参数和显示结果的 PHP/HTML/MySQL 数据库查询

如何根据用户选择的下拉菜单更改 PHP 中的 SQL 查询

如何从下拉列表中选择多个项目并将多个值插入 MYSQL

Odoo[12.0] : 如何创建下拉菜单并在下拉菜单中显示所有菜单以及选择多个菜单

Laravel 4 如何使用 input::old() 方法在下拉菜单中显示选定的值?

如何使用mysql和php制作级联下拉列表