MySQL二級聯動菜單是一種常見的Web開發技術。它可以幫助我們實現兩個或更多交互式下拉列表,其中第二個下拉列表的選項根據第一個下拉列表中的選擇項進行動態更改。
下面是一個例子,該例子使用MySQL數據庫中的兩個表來演示二級聯動菜單的實現:
CREATE TABLE countries ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE cities ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, country_id INT(11) NOT NULL, PRIMARY KEY (id), CONSTRAINT fk_cities_countries FOREIGN KEY (country_id) REFERENCES countries(id) );
上面的代碼創建了一個名為“countries”的表和一個名為“cities”的表。表之間建立了一對多關系,其中“cities”表通過“country_id”列引用“countries”表的“id”列。
使用PHP和MySQLi庫,我們可以輕松地生成下拉列表。以下示例代碼演示如何檢索國家列表:
// 連接到MySQL服務器 $conn = mysqli_connect('localhost', 'username', 'password', 'dbname'); // 檢索所有國家 $result = mysqli_query($conn, 'SELECT * FROM countries'); // 輸出選項列表 echo '';
利用上面的代碼,我們可以將所有可選國家顯示為下拉列表。當選擇國家后,我們需要從“cities”表中檢索適當的城市。
// 獲取所選國家的id $country_id = $_POST['country']; // 檢索屬于所選國家的城市 $result = mysqli_query($conn, 'SELECT * FROM cities WHERE country_id = '.$country_id); // 輸出選項列表 echo '';
上述代碼向服務器提交了一個POST請求,并從POST數據中檢索了所選國家的ID。然后,該代碼從“cities”表中檢索了歸屬于該國家的城市,并將城市顯示為下拉列表。
二級聯動菜單是Web開發的常見需求。通過使用MySQL和PHP,我們可以輕松地實現此功能。
上一篇npm與vue