>백엔드 개발 >PHP 문제 >PHP에서 쿼리 하위 범주를 반복하는 방법

PHP에서 쿼리 하위 범주를 반복하는 방법

zbt
zbt원래의
2023-08-04 15:39:451040검색

PHP에서 쿼리 하위 범주를 반복하는 방법: 1. 데이터베이스와 간단한 범주 테이블을 만들어야 합니다. 2. 범주 테이블에 일부 샘플 데이터를 채워야 합니다. 3. 쿼리 하위 범주를 반복하는 PHP 코드 작성을 시작합니다. 4. 데이터베이스와의 연결을 설정합니다. 5. 연결이 성공했는지 확인합니다. 6. 하위 범주를 재귀적으로 쿼리하는 함수를 정의합니다. 8. 하위 범주를 쿼리하는 함수를 호출합니다. 10. 없음 분류된 데이터 11. 데이터베이스 연결을 닫습니다.

PHP에서 쿼리 하위 범주를 반복하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, php8.1.3 버전, DELL G3 컴퓨터.

PHP에서는 루프를 사용하여 하위 범주를 쿼리할 수 있습니다. 다음 예에서는 간단한 범주 테이블을 예제 데이터베이스로 사용하고 루프를 통해 하위 범주를 쿼리합니다.

1. 데이터베이스와 간단한 분류 테이블을 만들어야 합니다. 다음 SQL 문을 사용하여 테이블을 생성할 수 있습니다.

CREATE TABLE categories (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
parent_id INT(11)
);

2. 분류 테이블에 일부 샘플 데이터를 채워야 합니다. 다음 SQL 문을 사용하여 데이터를 채울 수 있습니다.

INSERT INTO categories (name, parent_id) VALUES
('电子设备', NULL),
('手机', 1),
('电脑', 1),
('平板电脑', 1),
('苹果手机', 2),
('安卓手机', 2),
('华为手机', 2),
('戴尔电脑', 3),
('联想电脑', 3),
('iPad', 4),
('Surface', 4);

3. 루프에서 하위 범주를 쿼리하는 PHP 코드 작성을 시작할 수 있습니다. 다음은 간단한 샘플 코드입니다.

// 建立与数据库的连接(请根据自己的数据库情况修改连接信息)
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 定义一个函数,用于递归查询子分类
function querySubcategories($parent_id, $conn) {
$sql = "SELECT id, name FROM categories WHERE parent_id = $parent_id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo $row["name"] . "
";
// 递归查询子分类
querySubcategories($row["id"], $conn);
}
}
}
// 查询顶级分类
$query = "SELECT id, name FROM categories WHERE parent_id IS NULL";
$result = $conn->query($query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo $row["name"] . "
";
// 调用函数查询子分类
querySubcategories($row["id"], $conn);
}
} else {
echo "没有任何分类数据";
}
// 关闭数据库连接
$conn->close();
?>

위 코드에서는 먼저 데이터베이스에 연결한 후 하위 카테고리를 재귀적으로 쿼리하는 querySubcategories 함수를 정의합니다. 그런 다음 최상위 카테고리를 쿼리하고 이 함수를 호출하여 해당 하위 카테고리를 쿼리합니다. 마지막으로 데이터베이스 연결을 닫습니다.

위 코드를 사용하면 루프에서 하위 카테고리를 쿼리하고 결과를 페이지에 출력할 수 있습니다.

요약:

루프를 사용하여 하위 범주를 쿼리하는 것은 일반적인 요구 사항입니다. PHP에서 재귀를 사용하면 모든 하위 범주를 쉽게 쿼리하고 유연하게 처리할 수 있습니다. 실제 응용 프로그램에서는 필요에 따라 쿼리 결과를 추가로 처리하고 표시할 수 있습니다

위 내용은 PHP에서 쿼리 하위 범주를 반복하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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