php - 从 mysql 查询填充选择下拉列表时出现重复值

标签 php html mysql

我正在尝试使用 mysql 查询中多列的数据填充 html 选择下拉列表。

当我检索第一列时,它会毫无问题地填充下拉列表。当我添加第二列或第三列时,我遇到了问题。最初我得到的是空白字段,这是通过添加 !empty() 解决的。

但是我现在得到重复的值来代替空白

 <?php
        $base = '';
        $base2 = '';
        $base3 = '';

 while($row = mysqli_fetch_assoc($resultpmb)) {
  $code=$row["id"];
  $name=$row["gw_name"];
  if (!empty(trim($row['vg_name']))){
  $vgname=$row["vg_name"];}
  if (!empty(trim($row['vm_name']))){
  $vmname=$row["vm_name"];}

$base .= "<option value=" .$code.">".$name."</option>";
$base2 .= "<option value=" .$code.">".$vgname."</option>";
$base3 .= "<option value=" .$code.">".$vmname."</option>";

}
?>
        <div class="form-group col-4 col-m-12">
         <div class="input-group">
            <span class="input-group-addon"><span class="glyphicon 
glyphicon-lock"></span></span>
<select name="base_colour1" class="form-control" id="base_colour1">
<option value="">Base...</option>
<?php 
echo "<option value=''>---- GW Golour ----</option></br>";
echo $base;
echo "<option value=''>---- Vallejo Game Golour ----</option>";
echo $base2; 
echo "<option value=''>---- Vallejo Model Golour ----</option>";
echo $base3;
?>
</select>
</div>
        </div>

最佳答案

!empty() 的测试中添加字符串可能更容易,否则它将始终添加值 - 即使没有任何...

while($row = mysqli_fetch_assoc($resultpmb)) {
  $code=$row["id"];
  $name=$row["gw_name"];
  if (!empty(trim($row['vg_name']))){
      $base2 .= "<option value=" .$code.">".$row["vg_name"]."</option>";
  }
  if (!empty(trim($row['vm_name']))){
      $base3 .= "<option value=" .$code.">".$row["vm_name"]."</option>";
  }

  $base .= "<option value=" .$code.">".$name."</option>";


}

关于php - 从 mysql 查询填充选择下拉列表时出现重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870698/

相关文章:

php - Mysql排名行数

php - 在 forEach 循环中加载 ajax 调用

python - 带有多表查询的SQL的Django views.py版本

mysql - 将字符串与出现次数连接起来

mysql - 无法启动 MySQL 守护进程 : segmentation fault

php - 是否可以在运行时向 PHP 中的类添加特征?

php - sql语法错误

javascript - 如何修复这些移动问题

javascript - 如何对 CSS 选择器进行分组

MySQL - 查询中的第二个 ORDER BY 参数