我需要一些帮助> _<。我有两张桌子:
第一个填充汽车制造商的表名为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();
?>
答案 0 :(得分:0)
在您发布的代码中,您创建的下拉列表应该是这样的
echo '<option value="' . $row->id. '">';
echo $row->value;
echo '</option>';
请注意$ row-&gt; id而不是$ row-&gt;值
要填充相应的下拉列表,您有两个选项:
一旦用户从标记下拉列表中选择一个值,您就会触发一个PHP函数,该函数获取相应车辆模型的值并重新渲染页面(您使用javascript捕获用户选择的ID) / p>
您获取所有车辆模型以及车辆标记(在上面的代码中添加另一个查询以获取所有模型),将模型查询的结果保存在JavaScript变量中并使用javascript生成第二个下拉列表用户进行选择。在这里你也捕获用户选择并调用一个javascript函数,该函数吐出相应的id下拉列表。
如果你的模型表有很多数据,第二种方法不是一个好的选择。