【问题标题】:Populate data from database in Select tag [duplicate]在选择标签中填充数据库中的数据[重复]
【发布时间】:2021-09-12 04:42:42
【问题描述】:

我想从我的数据库中选择数据。我不想手动输入数据如何从我的数据库中填充?

 <?php
              $q1 = "select * from bloodbank_facility";
            $option="";
            $q = $conn->query($q1);
            while($row1 = $q->fetch_array($q1)){
              $option = $option."<option>$row1[1]</option>";
            }
            ?>

<select name="facility_name" required>
          <?php while($row1 = mysqli_fetch_array($q1)):;?>

<option value="<?php echo $row1[0];?>"><?php echo $row1[1];?></option>

<?php endwhile;?>
          </select>

注意:我已经修复了它,感谢您的帮助。这是我想出的解决方案。

<select name="facility_name" required style="width:260px;">
          <?php
              $q1 = $conn->query("SELECT bloodbank_name FROM bloodbank_facility");
            
          ?>
          <?php
            while($rows = $q1->fetch_assoc()){
              $facility_name= $rows['bloodbank_name'];
              echo "<option value='$facility_name'>$facility_name</option>";
            }
          ?>
          </select>

【问题讨论】:

    标签: php


    【解决方案1】:
    <?php
        $q1 = "select * from bloodbank_facility";
        $q = $conn->query($q1);
        $myselect='<select name="facility_name" required>';
        while($row1 = $q->fetch_array($q1)){
        $myselect .= '<option>'.$row1[1].'</option>';
        }
        $myselect.='</select>';
    ?>
    
    <?php echo $myselect; ?>
    

    【讨论】:

    • 请不要在 Stack Overflow 上发布纯代码答案。
    【解决方案2】:

    这应该可以解决问题:

    <?php
        $q1 = "select * from bloodbank_facility";
        $options=[];
        $q = $conn->query($q1);
        while($row1 = $q->fetch_array($q1)){
            $options[] = "<option>{$row1[1]}</option>";
        }
    ?>
    <select name="facility_name" required>
      <?php echo implode($options) ?>
    </select>
    

    您没有做的主要事情是在 $row1[1] 周围使用花括号,这意味着 PHP 认为您只需要 $row1 而不是数组值。

    注意:我已经修复了它,感谢您的帮助。这是我想出的解决方案。

    <select name="facility_name" required style="width:260px;">
              <?php
                  $q1 = $conn->query("SELECT bloodbank_name FROM bloodbank_facility");
                
              ?>
              <?php
                while($rows = $q1->fetch_assoc()){
                  $facility_name= $rows['bloodbank_name'];
                  echo "<option value='$facility_name'>$facility_name</option>";
                }
              ?>
              </select>
    

    【讨论】:

    • 如果值与文本相同,则声明选项的 value 属性永远不会有任何好处。这基本上是不必要的标记膨胀。对要注入 HTML 文档的值进行 html 编码通常是一个好主意。此外,来自 mysqli 查询的结果集对象可以被 foreach() 遍历,并且每一行都被视为一个关联数组——这避免了对 fetch_...() 的迭代调用。见这里:stackoverflow.com/a/66775416/2943403
    猜你喜欢
    • 2013-10-04
    • 2017-01-18
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 2012-07-22
    • 2018-08-10
    • 2013-03-04
    相关资源
    最近更新 更多