【发布时间】:2020-01-08 19:18:50
【问题描述】:
我在 php 中有一个来自数据库的选择下拉菜单。如果该值已存在于列中,则不应显示在选择下拉列表中,因此我编写了以下代码:
<select class="form-control" id="space" name="space">
<option value="--Select--">--Select--</option>
<?php
$select=mysqli_query($con,"select * from clients");
while($menuz=mysqli_fetch_array($select))
{
$filled =$menuz['Space'];
$valuez = array("C101","C102","C103","C104","C105","C106","C107","C108","W1","W2","W3","W4","W5","W6","W7","W8","W9","W10","W11","W12","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10");
foreach($valuez as $value){
if($value != $filled){
?>
<option value="<?php echo $value;?>">
<?php echo $value; ?>
</option>
<?php
}
}
}
?>
</select>
现在的问题是值在选择列中显示了两次。第一次显示所有值,然后显示不在我想要的数据库中的值。谁能帮我解决这个问题。
【问题讨论】:
-
不要从下拉列表中删除元素,只需使其自动选中即可。
-
@RishiRaut 我不明白
-
先从数据库中创建一个数组,然后使用数组函数从第一个数组相交到第二个数组。
-
@RishiRaut 我对此不熟悉,请您给出答案
-
array_diff()可能会帮助你