Heim > Backend-Entwicklung > PHP-Tutorial > Umgang mit der mehrstufigen Auswahl und Anzeige in PHP-Formularen

Umgang mit der mehrstufigen Auswahl und Anzeige in PHP-Formularen

王林
Freigeben: 2023-08-11 06:06:01
Original
1436 Leute haben es durchsucht

Umgang mit der mehrstufigen Auswahl und Anzeige in PHP-Formularen

Wie man mit der mehrstufigen Auswahl und Anzeige in PHP-Formularen umgeht

Bei der Entwicklung von Webanwendungen sind Formulare ein integraler Bestandteil. Formulare ermöglichen Benutzern die Eingabe und Übermittlung von Daten, sodass wir Benutzereingaben verarbeiten und speichern können. Manchmal enthalten unsere Formulare mehrere Auswahlebenen, z. B. Auswahlen für Provinzen und Städte oder Auswahlen für mehrstufige Klassifizierungen. In diesem Artikel werde ich Techniken zum Umgang mit der mehrstufigen Auswahl und Anzeige in PHP-Formularen vorstellen und entsprechende Codebeispiele bereitstellen.

  1. Datenbankdesign

Zuerst müssen wir entsprechende Tabellen in der Datenbank entwerfen, um ausgewählte Daten auf mehreren Ebenen zu speichern. Am Beispiel von Provinzen und Städten können wir drei Tabellen entwerfen: „Provinzen“, „Städte“ und „Bezirke“. Jede Tabelle enthält ein automatisch inkrementierendes Primärschlüsselfeld, das jeden Datensatz eindeutig identifiziert, und ein entsprechendes Namensfeld für Anzeigezwecke.

Zum Beispiel kann die Tabelle „Provinzen“ die folgenden Felder enthalten:

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255)
Nach dem Login kopieren

Die Tabelle „Städte“ kann die folgenden Felder enthalten:

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
province_id INT
Nach dem Login kopieren

Die Tabelle „Bezirke“ kann die folgenden Felder enthalten:

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
city_id INT
Nach dem Login kopieren
  1. Datenbankabfrage

Als nächstes müssen wir die entsprechenden Daten basierend auf der Auswahl des Benutzers abfragen. In diesem Beispiel können wir Dropdown-Felder verwenden, um eine Auswahl auf mehreren Ebenen zu erreichen. Nachdem der Benutzer eine Provinz ausgewählt hat, müssen wir die entsprechenden Stadtdaten basierend auf der ID der Provinz abfragen. Nachdem der Benutzer dann eine Stadt ausgewählt hat, müssen wir die entsprechenden Bezirks- und Kreisdaten basierend auf der ID der Stadt abfragen.

Das Folgende ist ein einfaches Codebeispiel für eine Datenbankabfrage:

<?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();
?>
Nach dem Login kopieren
  1. Formularanzeige und -verarbeitung

Abschließend müssen wir die abgefragten Daten im Formular anzeigen und die vom Benutzer übermittelten Daten verarbeiten. Das Folgende ist ein einfaches Codebeispiel für die Formularanzeige und -verarbeitung:

<!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>
Nach dem Login kopieren

Im obigen Code verwenden wir eine foreach-Schleife, um die abgefragten Daten als Dropdown-Box-Optionen anzuzeigen. Nachdem der Benutzer die entsprechende Option ausgewählt hat, werden die Formulardaten an das Skript „process.php“ gesendet, das die Daten bei der Übermittlung verarbeitet. In diesem Skript können Sie entsprechende Datenverarbeitungs- und Speichervorgänge durchführen.

So handhaben Sie die mehrstufige Auswahl und Anzeige in PHP-Formularen. Durch den richtigen Entwurf der Datenbank und die Abfrage der Daten können wir auf einfache Weise mehrstufige Auswahlfunktionen implementieren und weitere Vorgänge anhand der vom Benutzer übermittelten Daten durchführen. Ich hoffe, dieser Artikel kann Ihnen hilfreich sein!

Das obige ist der detaillierte Inhalt vonUmgang mit der mehrstufigen Auswahl und Anzeige in PHP-Formularen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage