无法在列表框中显示数据库中的所有值

问题描述 投票:0回答:1

所以我有一个可以在其中添加/删除值的数据库。该表被命名为详细信息。下面的代码使用db_connect.php连接到数据库。

        <select name="areas">
                <?php 
                include "db_connect.php";
                $displayArea = "SELECT area FROM details";
                $sql = mysqli_query($link, $displayArea);
                while ($row =  mysqli_fetch_assoc($sql))
                {
                    echo "<option value=\"areas\">" . $row['area'] . "</option>";
                }
                ?>

        </select>

下拉列表采用area的第一个值,所以我知道它正在连接。但是我希望它显示数据库中的所有面积值。甚至以后会添加的新值。我该怎么办?

php mysql database dropdown
1个回答
0
投票

我认为使用PDO

将其放入您的db_connect.php中

<?php
   /* Connect to a MySQL database using driver invocation */
   $dsn = 'mysql:dbname=testdb;host=127.0.0.1';
   $user = 'dbuser';
   $password = 'dbpass';

   try {
     $db = new PDO($dsn, $user, $password);
   } catch (PDOException $e) {
     echo 'Connection failed: ' . $e->getMessage();
   }

?>

我的示例代码

<?php 
   $stmt = $db->prepare("SELECT area FROM details");
   $stmt->execute();
   $result = $stmt->fetchAll(); 
?>

<select name="areas">
   <?php foreach($result as $row){ ?>
      <option value="<?=$row['area'] ?>"><?=$row['area'] ?></option>
   <?php } ?>
</select>
© www.soinside.com 2019 - 2024. All rights reserved.