php - 从数据库表中填充选择下拉列表

标签 php mysql

<分区>

我有一张表(“场所”),其中存储了志愿者可以工作的所有可能场所,每个志愿者都被分配到每个场所工作。

我想从 venues 表中创建一个选择下拉列表。

现在我可以显示分配给每个志愿者的 field ,但我希望它显示下拉框,并且 field 已经在列表中选择。

<form action="upd.php?id=7">
<select name="venue_id">
<?php //some sort of loop goes here
print '<option value="'.$row['venue_id'].'">'.$row['venue_name'].'</option>';
//end loop here ?>
</select>
<input type="submit" value="submit" name="submit">
</form>

比如id为7的志愿者,被分配到venue_id 4

<form action="upd.php?id=7">
<select name="venue_id">
    <option value="1">Bagpipe Competition</option>
    <option value="2">Band Assistance</option>
    <option value="3">Beer/Wine Pouring</option>
    <option value="4" selected>Brochure Distribution</option>
    <option value="5">Childrens Area</option>
    <option value="6">Cleanup</option>
    <option value="7">Cultural Center Display</option>
    <option value="8">Festival Merch</option>
</select>
<input type="submit" value="submit" name="submit">
</form>

Brochure Distribution option will already be selected when it displays the drop down list, because in the volunteers_2009 table, column venue_id is 4.

我知道它将采用 for 或 while 循环的形式从 field 表中提取 field 列表

我的查询是:

$query = "SELECT volunteers_2009.id, volunteers_2009.comments, volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, volunteers_2009.lname, volunteers_2009.fname, volunteers_2009.venue_id, venues.venue_name FROM volunteers_2009 AS volunteers_2009 LEFT OUTER JOIN venues ON (volunteers_2009.venue_id = venues.id) ORDER by $order $sort";

如何使用 field 表中的 field (volunteers_2009.venue_idvenues.id)填充选择下拉框并让它预先选择 field 在列表中?

最佳答案

$query = "SELECT volunteers_2009.id, volunteers_2009.comments, volunteers_2009.choice1, volunteers_2009.choice2, volunteers_2009.choice3, volunteers_2009.lname, volunteers_2009.fname, volunteers_2009.venue_id, venues.venue_name FROM volunteers_2009 AS volunteers_2009 LEFT OUTER JOIN venues ON (volunteers_2009.venue_id = venues.id) ORDER by $order $sort";

$res = mysql_query($query);
echo "<select name = 'venue'>";
while (($row = mysql_fetch_row($res)) != null)
{
    echo "<option value = '{$row['venue_id']}'";
    if ($selected_venue_id == $row['venue_id'])
        echo "selected = 'selected'";
    echo ">{$row['venue_name']}</option>";
}
echo "</select>";

关于php - 从数据库表中填充选择下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/199597/

相关文章:

php - MySQL Join 将不匹配的记录包含在 WHERE 语句中

MySQL:查找不匹配的记录(JOIN/IS NULL)

javascript - 将 javascript 数组发送到 SQL,然后将信息返回到 HTML

php - WordPress 导航菜单子(monad)页面

php - 删除 mySQL 中引用的行

返回空白的 PHP session 变量

SQL 你觉得哪个更好?所有在一个地方或分开

php - Laravel 5 - 单元测试 - 状态码 500,预期 200

php - 如何在使用 "IN"子句的 php 中构建 mysql 查询

javascript - 用户可以使用 javascript 或任何其他方式操作只读字段中的值吗?