【问题标题】:Call all the value from DB to dropdown list将数据库中的所有值调用到下拉列表
【发布时间】:2014-01-21 14:36:29
【问题描述】:

我有一个材料表,其中所有材料都插入到 desc 列中。 desc 值可以尽可能多。

样本:

desc
 poly canvass
 metal
 washer
 knot

这是我做的代码。

<?php 
$resource=mysql_query("Select * from material",$con);

while($result2=mysql_fetch_array($resource))
    { 

    ?>
<select>
<option value="<?php echo $result2[desc] ?>"><?php echo $result2[desc] ?></option>
</select>

</tr>
<?php };?>

但它会生成四个下拉列表,对应于我的数据库中的四个值中的每一个 喜欢:

dropdown1      dropdown2      dropdown3      dropdown4
polycanvass    metal          washer         knot

如何使 desc 列中的所有值显示在一个下拉列表中?

【问题讨论】:

  • 我看到mysql_* 的用法。不要这样做。这是一个谎言,由俄罗斯人、中国人或任何你害怕的人提出。当心mysql_*,把你不朽的信念交给PDOmysqli_*

标签: php html mysql arrays select


【解决方案1】:
    <?php 
    $resource=mysql_query("Select * from material",$con);
    ?>
    <select>
    <?php
    while($result2=mysql_fetch_array($resource))
    {
    ?>
    <option value="<?php echo $result2[desc] ?>"><?php echo $result2[desc] ?></option>
    <?php
    }
    </select>
    ?>

select 应该退出 while 循环,因为对于每个值,它也会重复,并且您最终会得到与总记录数一样多的下拉菜单。

【讨论】:

    【解决方案2】:

    从while循环中取出select标签,放到外面。

    我会建议你使用 mysqli 而不是 mysql

    PHP MySQLi = PHP MySQL 改进!

    注意: MySQLi 扩展旨在与 MySQL 4.1.13 或更高版本一起使用

    <?php
        $con=mysqli_connect("host","username","password","dbname");
        // Check connection
        if (mysqli_connect_errno()) {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
    
        $resource= mysqli_query($con,"SELECT * FROM material");
    
        echo "<select>";
        while($result = mysqli_fetch_array($resource)){
            echo '<option value="'.$result[desc].'">'.$result[desc].'</option>';
        }
        echo "</select>";
    
        mysqli_close($con);
    ?>
    

    【讨论】:

      【解决方案3】:
       <?php 
          $resource=mysql_query("Select * from material",$con);
          ?>
          <select>
          <?php
          while($result2=mysql_fetch_array($resource))
          {
          echo '<option value="'.$result2[desc].'">'.$result2[desc].'</option>';
          }
      ?>
          </select>
      

      选择循环和更短的方式输出&lt;option&gt;

      【讨论】:

        猜你喜欢
        • 2015-02-12
        • 1970-01-01
        • 1970-01-01
        • 2016-07-06
        • 1970-01-01
        • 1970-01-01
        • 2013-09-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多