所以我想在表单中创建一个下拉列表,但我不想手动在表单中写入选项,而是想将其链接到我的数据库。
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)
感谢您的帮助:)
假设您的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>
<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>
这应该会让你对如何做到这一点有一个基本的想法。
在您的案例中,这就是解决方案:
<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>