簡體   English   中英

在 html 選擇選項中顯示來自 sql 的值不顯示值

[英]displaying values from sql in html select option not displaying values

我已經使用 php 和 sql 創建了一個 html 表單。 該表單包含一個名為空格的字段,它是一個選擇下拉列表。 這些值來自我在 php 中聲明的數組。 如果數組中的值已經存在於數據庫中,則不應顯示。 所以我做了以下代碼:

 <select class="form-control" id="space" name="space"> <option value="--Select--">--Select--</option> <?php $select=mysqli_query($con,"select * from clients where Spaces IS NOT NULL"); while($menu1=mysqli_fetch_array($select)) { $filled =$menu1['name']; $valuez = array("C101","C102","C103","C104"); if ($filled != $valuez) { ?> <option value="<?php echo $valuez;?>"> <?php echo $valuez;?> </option> <?php }} ?> </select>

但這並沒有顯示任何值。 誰能告訴我我的代碼有什么問題。 提前謝謝

你的$filled是字符串,不能等於數組。

你可以只使用whereIn ,不需要把所有的客戶都拿出來:

<select class="form-control" id="space" name="space">
  <option value="--Select--">--Select--</option>
  <?php
    $valuez = "'C101','C102','C103','C104'";
    $select = mysqli_query($con, "SELECT * FROM clients WHERE Space IN ($valuez)");
  ?>

<?php while($menu1 = mysqli_fetch_array($select) ) : ?>
    <option value="<?php echo $menu1['name'];?>">
      <?php echo $menu1['name'];?>
    </option>
<?php endwhile; ?> 
</select>

您正在將字符串與數組進行比較。 你應該像這樣使用 in_array

 <select class="form-control" id="space" name="space">
   <option value="--Select--">--Select--</option>
 <?php
  $select=mysqli_query($con,"select * from clients where Space IS NOT NULL");
 while($menu1=mysqli_fetch_array($select))
  {
  $filled =$menu1['Space'];
 $valuez = array("C101","C102","C103","C104");
 foreach($valuez as $value){
    if($value != $filled){ 
    ?>
        <option value="<?php echo $value;?>">
          <?php echo $value;?>
        </option>
    <?php 
    }
 }
}
?>

更新代碼

試試這個,請確保您要顯示的值作為選項來自列名或空格。 我根據您的代碼使用了 name($menu1['name']) 列。

<select class="form-control" id="space" name="space">
  <option value="--Select--">--Select--</option>
   <?php
     $select = mysqli_query($con,"select * from clients where Spaces NOT IN ('C101','C102','C103','C104')");
     while($menu1=mysqli_fetch_array($select)) {
       $filled = $menu1['name'];
       if (!empty($filled)) {
   ?>
   <option value="<?php echo $filled;?>">
     <?php echo $filled;?>
   </option>
  <?php
    }}
  ?>
</select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM