簡體   English   中英

鏈接兩個php動態下拉列表

[英]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

要填充相應的下拉列表,您有兩個選擇:

  1. 一旦用戶從標記下拉列表中選擇一個值,您將觸發一個PHP函數,該函數獲取相應車輛模型的值並重新呈現頁面(您可以使用javascript捕獲用戶選擇的ID)

  2. 您將獲取所有車輛模型以及車輛標記(在上述獲取所有模型的代碼中添加另一個查詢),將模型查詢的結果保留在JavaScript變量中,並在用戶做出選擇后使用javascript生成第二個下拉列表。 在這里,您還捕獲了用戶的選擇,並調用了一個JavaScript函數,該函數吐出了相應的ID下拉列表。

如果您的模型表中包含大量數據,則第二種方法不是一個好的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM