链接两个php动态下拉列表

时间:2013-11-29 21:27:47

标签: php mysql dynamic drop-down-menu

我需要一些帮助> _<。我有两张桌子:

第一个填充汽车制造商的表名为list_vehicle_marks,列为

  

id |值

第二个表,填充了名为list_vehicle_models的汽车模型并具有以下列;

  

id |价值| mark_id

列mark_id与第一个表中的id具有相同的值,换句话说,Ford的id为no。 37并且所有福特车型的mark_id也为37。

如何创建两个动态下拉菜单,其中第二个菜单仅显示基于第一个菜单中选择的制造商的模型?

这是我到目前为止所做的:

<?php

connection to host, db, blah blah

if ($db->connect_error) {
echo "Failed to connect to MySQL: (" . $db->connect_error . ") "
. $db->connect_error;
} else {
$sql = "SELECT value FROM list_vehicle_marks";
$result_db = $db->query($sql);
if (!$result_db) {
    echo $db->error . ' Error perform query!';
} else {
    echo '<select name="value">';
    echo '<option value="">Select...</option>';
    while ($row = $result_db->fetch_object()) {
        echo '<option value="' . $row->value . '">';
        echo $row->value;
        echo '</option>';
    }
    echo '</select>';
}
}
$db->close(); 
?>

1 个答案:

答案 0 :(得分:0)

在您发布的代码中,您创建的下拉列表应该是这样的

echo '<option value="' . $row->id. '">';
echo $row->value;
echo '</option>';

请注意$ row-&gt; id而不是$ row-&gt;值

要填充相应的下拉列表,您有两个选项:

  1. 一旦用户从标记下拉列表中选择一个值,您就会触发一个PHP函数,该函数获取相应车辆模型的值并重新渲染页面(您使用javascript捕获用户选择的ID) / p>

  2. 您获取所有车辆模型以及车辆标记(在上面的代码中添加另一个查询以获取所有模型),将模型查询的结果保存在JavaScript变量中并使用javascript生成第二个下拉列表用户进行选择。在这里你也捕获用户选择并调用一个javascript函数,该函数吐出相应的id下拉列表。

  3. 如果你的模型表有很多数据,第二种方法不是一个好的选择。