>  기사  >  백엔드 개발  >  다단계 선택을 처리하고 PHP 양식으로 표시하는 방법

다단계 선택을 처리하고 PHP 양식으로 표시하는 방법

王林
王林원래의
2023-08-10 23:27:251403검색

다단계 선택을 처리하고 PHP 양식으로 표시하는 방법

PHP 양식에서 다단계 선택 및 표시를 처리하는 방법

웹 애플리케이션을 개발할 때 양식은 필수적인 부분입니다. 양식을 사용하면 사용자가 데이터를 입력하고 제출할 수 있으므로 사용자 입력을 처리하고 저장할 수 있습니다. 때때로 양식에는 지방 및 도시에 대한 선택이나 다단계 분류에 대한 선택과 같은 여러 수준의 선택 항목이 포함됩니다. 이 기사에서는 다단계 선택을 처리하고 PHP 형식으로 표시하는 방법에 대한 기술을 소개하고 해당 코드 예제를 제공합니다.

  1. 데이터베이스 디자인

먼저, 선택된 다단계 데이터를 저장할 데이터베이스의 해당 테이블을 디자인해야 합니다. 지방과 도시를 예로 들면, "지방", "도시", "지구"라는 세 가지 테이블을 디자인할 수 있습니다. 각 테이블에는 각 레코드를 고유하게 식별하는 자동 증가 기본 키 필드와 표시 목적을 위한 해당 이름 필드가 포함되어 있습니다.

예를 들어 "provinces" 테이블에는 다음 필드가 포함될 수 있습니다.

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255)

"cities" 테이블에는 다음 필드가 포함될 수 있습니다.

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

"districts" 테이블에는 다음 필드가 포함될 수 있습니다.

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
city_id INT
  1. 데이터베이스 쿼리

다음으로, 사용자의 선택에 따라 해당 데이터를 조회해야 합니다. 이 예에서는 드롭다운 상자를 사용하여 다중 수준 선택을 수행할 수 있습니다. 사용자가 도를 선택한 후에는 도의 ID를 기준으로 해당 도시 데이터를 쿼리해야 하며, 사용자가 도시를 선택한 후에는 도시의 ID를 기준으로 해당 구 및 군 데이터를 쿼리해야 합니다.

다음은 간단한 데이터베이스 쿼리 코드 예제입니다.

<?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. 양식 표시 및 처리

마지막으로 쿼리된 데이터를 양식에 표시하고 사용자가 제출한 데이터를 처리해야 합니다. 다음은 간단한 양식 표시 및 처리 코드 예입니다.

<!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>

위 코드에서는 foreach 루프를 사용하여 쿼리된 데이터를 드롭다운 상자 옵션으로 표시합니다. 사용자가 해당 옵션을 선택하면 양식 데이터가 제출 시 데이터를 처리하는 "process.php" 스크립트로 전송됩니다. 이 스크립트에서 해당 데이터 처리 및 저장 작업을 수행할 수 있습니다.

다단계 선택을 처리하고 PHP 형식으로 표시하는 방법입니다. 데이터베이스를 적절하게 설계하고 데이터를 쿼리함으로써 다단계 선택 기능을 쉽게 구현하고 사용자가 제출한 데이터를 통해 추가 작업을 수행할 수 있습니다. 이 기사가 도움이 되기를 바랍니다!

위 내용은 다단계 선택을 처리하고 PHP 양식으로 표시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.