如何使用 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 数据库查询
Odoo[12.0] : 如何创建下拉菜单并在下拉菜单中显示所有菜单以及选择多个菜单