使用MySQL下拉表单列表

时间:2016-01-08 15:45:47

标签: php html mysql

所以我想在我的表单中创建一个下拉列表,而不是手动编写我希望将其链接到我的数据库的表单中的选项。

HTML

<form>
<select name="fruit">
  <option value="apple">Apples</option>
  <option value="banana">Bananas</option>
  <option value="pear">Pears</option>
</select>
<input type="submit" value="Submit">
</form>

这是我到目前为止所做的,但我想排除选项值并将其替换为我数据库中的现有记录。我如何在PHP中执行此操作?

我知道我会使用类似的东西,但我不确定

$results = $pdo->query('SELECT * FROM fruit');
            foreach ($results as $row)

感谢您的帮助:)

3 个答案:

答案 0 :(得分:1)

假设您的fruit表格有name字段:

<form>
<select name="fruit">
<?php 
    $results = $pdo->query('SELECT * FROM fruit');
    foreach ($results as $row):
?>
  <option value="<?php $row['name']?>"><?php ucfirst($row['name']) . "s"; ?></option>
<?php endforeach; ?>
</select>
<input type="submit" value="Submit">
</form>

答案 1 :(得分:0)

<form>
<select name="fruit">
<?php
$conn = new PDO("mysql:host=localhost;dbname=database", 'username', 'password', array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$results = $conn->query("SELECT * FROM fruit");
while($row = $results->fetch( PDO::FETCH_ASSOC )){ 
?>
<option value="<?= $row['id'] ?>"><?= $row['fruitname'] ?></option>
<?php
}
?>
</select>
<input type="submit" value="Submit">
</form>

这应该为您提供如何执行此操作的基本知识。

答案 2 :(得分:-1)

在您的情况下,这是解决方案:

<form>
    <select name="fruits" class="form-control">
    <?php
    $results = $pdo->query('SELECT * FROM fruit');
    foreach ($results as $row)
    {
     ?><option value="<?= $row['id'] ?>"><?= $row['fruitname'] ?></option><?php
    }
    ?>
    </select>
<input type="submit" value="Submit">
</form>