由于我在第一个下拉列表中只有一个值,因此我尝试在 PHP 中创建一个级联下拉列表,以在页面加载时填充第二个下拉列表。
我的数据库有一个名为“nights”的表,其中包含名为“city”、“name”和“day”的字段。
为了填充我正在使用的第一个盒子 SELECT DISTINCT cities from nights
等等,效果很好。
要填充第二个框,我需要类似 SELECT name WHERE city = $city
的内容- 我的问题是我不知道如何设置 $city
(即 <select>
标签的名称)。我无法使用$_POST['city']
因为此时表单尚未发送。
有什么想法吗?
最佳答案
如果您希望这是动态的(即在用户更改下拉列表后),您将必须使用 javascript 首先查询 PHP 页面(可能使用 jQuery get ),然后相应地调整下拉列表。网上有很多这方面的教程。
如果您只想填充初始页面数据,您可以从查询中选择第一个城市并将选项设置为选定状态,然后在下一个查询中使用该城市。
类似于:
$first = True;
while($row = mysql_fetch_array($result))
{
echo "<option" . (($first) ? " selected" : "") . ">" . $row['city'] . "</option>";
if($first)
{
$first = !$first;
$city = $row['city'];
}
}
//now do stuff with with $city
关于php - PHP 中的服务器端级联下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968095/