MySQL是一種流行的關系型數據庫管理系統,廣泛應用于Web開發中。在Web應用程序中,我們經常需要實現三級聯動,例如一個選擇省份后,再選擇城市,最后選擇區縣。下面我們將介紹如何使用MySQL實現三級聯動。
首先,我們需要創建三個表:省份表,城市表和區縣表。其中,省份表和城市表還需要建立外鍵關系,表示一個省份有多個城市。
CREATE TABLE province ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL ); CREATE TABLE city ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, province_id INT NOT NULL, FOREIGN KEY (province_id) REFERENCES province(id) ); CREATE TABLE district ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, city_id INT NOT NULL, FOREIGN KEY (city_id) REFERENCES city(id) );
接下來,我們需要向這三個表中插入數據,以模擬實際情況。
INSERT INTO province (name) VALUES ('北京'); INSERT INTO province (name) VALUES ('上海'); INSERT INTO province (name) VALUES ('廣東'); INSERT INTO city (name, province_id) VALUES ('北京市', 1); INSERT INTO city (name, province_id) VALUES ('上海市', 2); INSERT INTO city (name, province_id) VALUES ('廣州市', 3); INSERT INTO city (name, province_id) VALUES ('深圳市', 3); INSERT INTO district (name, city_id) VALUES ('東城區', 1); INSERT INTO district (name, city_id) VALUES ('黃浦區', 2); INSERT INTO district (name, city_id) VALUES ('天河區', 3); INSERT INTO district (name, city_id) VALUES ('福田區', 4);
現在,我們已經準備好了數據。接下來,可以使用PHP和MySQL查詢這些數據,實現三級聯動。
//連接MySQL數據庫 $conn = mysqli_connect($host, $username, $password, $database); if (mysqli_connect_errno()) { die("連接失敗: " . mysqli_connect_error()); } //查詢所有省份 $sql = "SELECT * FROM province ORDER BY name ASC"; $result = mysqli_query($conn, $sql); //輸出省份下拉框 echo ''; //查詢第一個省份對應的城市 $province_id = 1; //假設選擇了第一個省份 $sql = "SELECT * FROM city WHERE province_id='$province_id' ORDER BY name ASC"; $result = mysqli_query($conn, $sql); //輸出城市下拉框 echo ''; //查詢第一個城市對應的區縣 $city_id = 1; //假設選擇了第一個城市 $sql = "SELECT * FROM district WHERE city_id='$city_id' ORDER BY name ASC"; $result = mysqli_query($conn, $sql); //輸出區縣下拉框 echo '';
通過以上代碼,我們可以實現省份、城市和區縣之間的三級聯動。當用戶選擇省份后,就會動態顯示該省份下的所有城市;當用戶選擇城市后,又會動態顯示該城市下的所有區縣。
上一篇mysql實現三個表連接
下一篇CSS真假翡翠鑲嵌價格