[英]Linking two php dynamic dropdown lists
我需要一些幫助> _ <。 我有兩個表:
汽車制造商填充的第一個表稱為帶有列的list_vehicle_marks
id | 值
第二張表填充了名為list_vehicle_models的汽車模型,並具有以下列:
id | 價值| mark_id
列mark_id與第一個表中的id具有相同的值,換句話說,福特的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();
?>
在您發布的代碼中,您創建的下拉菜單中應該是這樣的
echo '<option value="' . $row->id. '">';
echo $row->value;
echo '</option>';
注意$ row-> id而不是$ row-> value
要填充相應的下拉列表,您有兩個選擇:
一旦用戶從標記下拉列表中選擇一個值,您將觸發一個PHP函數,該函數獲取相應車輛模型的值並重新呈現頁面(您可以使用javascript捕獲用戶選擇的ID)
您將獲取所有車輛模型以及車輛標記(在上述獲取所有模型的代碼中添加另一個查詢),將模型查詢的結果保留在JavaScript變量中,並在用戶做出選擇后使用javascript生成第二個下拉列表。 在這里,您還捕獲了用戶的選擇,並調用了一個JavaScript函數,該函數吐出了相應的ID下拉列表。
如果您的模型表中包含大量數據,則第二種方法不是一個好的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.