Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengendalikan pemilihan dan paparan pelbagai peringkat dalam borang PHP

Cara mengendalikan pemilihan dan paparan pelbagai peringkat dalam borang PHP

王林
王林asal
2023-08-10 23:27:251378semak imbas

Cara mengendalikan pemilihan dan paparan pelbagai peringkat dalam borang PHP

Cara mengendalikan pemilihan dan paparan berbilang peringkat dalam borang PHP

Apabila membangunkan aplikasi web, borang adalah bahagian penting. Borang membenarkan pengguna memasukkan dan menyerahkan data, membolehkan kami memproses dan menyimpan input pengguna. Kadangkala, borang kami akan mengandungi berbilang peringkat pilihan, seperti pilihan untuk wilayah dan bandar, atau pilihan untuk klasifikasi berbilang peringkat. Dalam artikel ini, saya akan memperkenalkan teknik tentang cara mengendalikan pemilihan dan paparan berbilang peringkat dalam bentuk PHP, dan memberikan contoh kod yang sepadan.

  1. Reka bentuk pangkalan data

Pertama, kita perlu mereka bentuk jadual yang sepadan dalam pangkalan data untuk menyimpan data terpilih berbilang peringkat. Mengambil wilayah dan bandar sebagai contoh, kita boleh mereka bentuk tiga jadual: "daerah", "bandar" dan "daerah". Setiap jadual mengandungi medan kunci utama yang meningkat secara automatik yang mengenal pasti setiap rekod secara unik dan medan nama yang sepadan untuk tujuan paparan.

Sebagai contoh, jadual "daerah" boleh mengandungi medan berikut:

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255)

Jadual "bandar" boleh mengandungi medan berikut:

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
province_id INT

Jadual "daerah" boleh mengandungi medan berikut:

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
city_id INT
  1. Database query

Seterusnya, kami Data yang sepadan perlu disoal berdasarkan pilihan pengguna. Dalam contoh ini, kita boleh menggunakan kotak drop-down untuk mencapai pemilihan berbilang peringkat. Selepas pengguna memilih wilayah, kami perlu menanyakan data bandar yang sepadan berdasarkan ID wilayah Kemudian selepas pengguna memilih bandar, kami perlu menanyakan data daerah dan daerah yang sepadan berdasarkan ID bandar.

Berikut ialah contoh kod pertanyaan pangkalan data yang mudah:

<?php
// 连接数据库
$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 * FROM provinces";
$result = $conn->query($sql);
$provinces = array();
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $provinces[$row['id']] = $row['name'];
    }
}

// 获取城市数据
$provinceId = $_POST['province_id'];
$sql = "SELECT * FROM cities WHERE province_id = " . $provinceId;
$result = $conn->query($sql);
$cities = array();
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $cities[$row['id']] = $row['name'];
    }
}

// 获取区县数据
$cityId = $_POST['city_id'];
$sql = "SELECT * FROM districts WHERE city_id = " . $cityId;
$result = $conn->query($sql);
$districts = array();
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $districts[$row['id']] = $row['name'];
    }
}

$conn->close();
?>
  1. Paparan dan pemprosesan borang

Akhir sekali, kami perlu memaparkan data pertanyaan dalam borang dan memproses data yang dihantar oleh pengguna. Berikut ialah paparan borang ringkas dan contoh kod pemprosesan:

<!DOCTYPE html>
<html>
<head>
    <title>多层级选择示例</title>
</head>
<body>
    <form method="post" action="process.php">
        <label for="province">省份:</label>
        <select id="province" name="province_id">
            <?php foreach ($provinces as $id => $name) { ?>
                <option value="<?php echo $id; ?>"><?php echo $name; ?></option>
            <?php } ?>
        </select><br>

        <label for="city">城市:</label>
        <select id="city" name="city_id">
            <?php foreach ($cities as $id => $name) { ?>
                <option value="<?php echo $id; ?>"><?php echo $name; ?></option>
            <?php } ?>
        </select><br>

        <label for="district">区县:</label>
        <select id="district" name="district_id">
            <?php foreach ($districts as $id => $name) { ?>
                <option value="<?php echo $id; ?>"><?php echo $name; ?></option>
            <?php } ?>
        </select><br>

        <input type="submit" value="提交">
    </form>
</body>
</html>

Dalam kod di atas, kami menggunakan gelung foreach untuk memaparkan data pertanyaan sebagai pilihan kotak lungsur. Selepas pengguna memilih pilihan yang sepadan, data borang akan dihantar ke skrip "process.php" yang memproses data apabila diserahkan Anda boleh melakukan operasi pemprosesan dan penyimpanan data yang sepadan dalam skrip ini.

Ini adalah cara mengendalikan pemilihan dan paparan berbilang peringkat dalam borang PHP. Dengan mereka bentuk pangkalan data dengan betul dan menanyakan data, kami boleh melaksanakan fungsi pemilihan pelbagai peringkat dengan mudah dan melaksanakan operasi selanjutnya melalui data yang diserahkan pengguna. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Cara mengendalikan pemilihan dan paparan pelbagai peringkat dalam borang PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn