欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php ajax 兩個下拉菜單

徐佳欣11個月前6瀏覽0評論

本文介紹了如何使用PHP和Ajax來創建兩個聯動的下拉菜單。通過這種方式,當用戶選擇第一個下拉菜單中的選項時,第二個下拉菜單會相應地顯示相應的選項。這種技術在很多網站上都會用到,比如省市選擇、商品分類選擇等。

假設我們有一個表格,其中包含了多個省份和相應的城市信息。我們的目標是實現一個下拉菜單,當用戶選擇某個省份時,第二個下拉菜單會動態加載該省份的城市信息。

首先,我們需要創建一個包含省份和城市信息的數據庫表。以下是一個示例:

CREATE TABLE locations (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
province VARCHAR(50) NOT NULL,
city VARCHAR(50) NOT NULL
);

我們可以在表中插入一些示例數據:

INSERT INTO locations (province, city) VALUES
('北京', '北京市'),
('江蘇', '南京市'),
('江蘇', '蘇州市'),
('浙江', '杭州市'),
('浙江', '寧波市');

接下來,我們需要創建一個包含選項的HTML表單,在這個例子中,我們需要兩個下拉菜單:

<form>
<select id="province">
<option value="" selected disabled>請選擇省份</option>
<option value="北京">北京</option>
<option value="江蘇">江蘇</option>
<option value="浙江">浙江</option>
</select>
<select id="city">
<option value="" selected disabled>請選擇城市</option>
</select>
</form>

接下來,我們需要使用Ajax來加載城市信息。我們可以創建一個JavaScript函數,當選擇省份時觸發:

function loadCities() {
var province = document.getElementById("province").value;
if (province == "") {
document.getElementById("city").innerHTML = "<option value='' selected disabled>請選擇城市</option>";
return;
}
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("city").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "get-cities.php?province=" + province, true);
xmlhttp.send();
}

上面的代碼中,我們首先獲取選擇的省份的值。如果省份沒有選擇,則將第二個下拉菜單重置為空,并停止執行后面的代碼。否則,我們創建一個XMLHttpRequest對象,并指定響應狀態改變時的回調函數。在這個回調函數中,如果請求成功,我們將從服務器獲取到的城市信息插入到第二個下拉菜單中。

接下來,我們需要創建一個用于獲取城市信息的PHP文件,這個文件將根據用戶選擇的省份來查詢數據庫表,并將結果返回給客戶端:

<?php
$province = $_GET['province'];
if (empty($province)) {
exit("沒有選擇省份");
}
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
$sql = "SELECT city FROM locations WHERE province = '$province'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<option value='" . $row['city'] . "'>" . $row['city'] . "</option>";
}
} else {
echo "<option value='' selected disabled>該省份沒有城市信息</option>";
}
$conn->close();
?>

在上面的代碼中,我們首先獲取用戶選擇的省份。然后,我們創建一個數據庫連接并執行查詢語句,從該省份的城市信息中獲取結果。如果有結果,我們將這些結果作為選項返回給客戶端。如果沒有結果,我們將在第二個下拉菜單中顯示一條消息。

最后,我們需要將loadCities函數綁定到第一個下拉菜單的onchange事件上:

<script>
document.getElementById("province").onchange = loadCities;
</script>

現在,當用戶在省份下拉菜單中選擇一個選項時,第二個下拉菜單將會動態加載相應的城市信息。

通過上面的例子,我們可以看到如何使用PHP和Ajax來實現兩個聯動的下拉菜單。這種技術可以應用在各種網站中,幫助用戶更方便地選擇和篩選信息。