Comment interroger des sous-catégories dans une boucle en php

zbt
Libérer: 2023-08-04 15:45:08
original
996 Les gens l'ont consulté

Comment boucler des sous-catégories de requêtes en PHP : 1. Vous devez créer une base de données et une table de catégories simple ; 2. Vous devez remplir des exemples de données dans la table de catégories 3. Commencez à écrire du code PHP pour boucler les sous-catégories de requêtes ; 4. Établir une connexion avec la base de données ; 5. Vérifier si la connexion est réussie ; 6. Définir une fonction pour interroger les sous-catégories de manière récursive ; 8. Interroger les catégories de niveau supérieur ; ; 10. Aucune Toutes les données classifiées ; 11. Fermez simplement la connexion à la base de données.

Comment interroger des sous-catégories dans une boucle en php

L'environnement d'exploitation de ce tutoriel : système windows10, version php8.1.3, ordinateur DELL G3.

En PHP, nous pouvons utiliser des boucles pour interroger des sous-catégories. Dans l'exemple suivant, nous utiliserons une simple table de catégories comme exemple de base de données et interrogerons les sous-catégories via une boucle.

1. Nous devons créer une base de données et un tableau de classification simple. Nous pouvons utiliser l'instruction SQL suivante pour créer une table :

CREATE TABLE categories (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
parent_id INT(11)
);
Copier après la connexion

2. Nous devons remplir quelques exemples de données dans la table de classification. Nous pouvons utiliser l'instruction SQL suivante pour remplir les données :

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

3. Nous pouvons commencer à écrire du code PHP pour interroger les sous-catégories en boucle. Voici un exemple de code simple :

// 建立与数据库的连接(请根据自己的数据库情况修改连接信息)
$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();
?>
Copier après la connexion

Dans le code ci-dessus, nous nous connectons d'abord à la base de données, puis définissons une fonction querySubcategories pour interroger de manière récursive les sous-catégories. Après cela, nous interrogeons la catégorie supérieure et appelons cette fonction pour interroger ses sous-catégories. Enfin, nous fermons la connexion à la base de données.

Avec le code ci-dessus, nous pouvons interroger les sous-catégories en boucle et afficher les résultats sur la page.

Résumé :

L'utilisation de boucles pour interroger des sous-catégories est une exigence courante. En utilisant la récursivité en PHP, nous pouvons facilement interroger toutes les sous-catégories et les traiter de manière flexible. Dans les applications pratiques, nous pouvons traiter et afficher les résultats de la requête selon les besoins

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!