Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menanyakan subkategori dalam gelung dalam php

Bagaimana untuk menanyakan subkategori dalam gelung dalam php

zbt
zbtasal
2023-08-04 15:39:451040semak imbas

Cara untuk menggelung subkategori pertanyaan dalam PHP: 1. Anda perlu mencipta pangkalan data dan jadual kategori mudah 2. Anda perlu mengisi beberapa data sampel ke dalam jadual kategori 3. Mula menulis kod PHP untuk menggelung subkategori pertanyaan; 4. Wujudkan sambungan dengan pangkalan data 5. Semak sama ada sambungan berjaya 6. Tentukan fungsi untuk menanya subkategori secara rekursif; ; 10. Tiada Sebarang data terperingkat 11. Tutup sahaja sambungan pangkalan data.

Bagaimana untuk menanyakan subkategori dalam gelung dalam php

Persekitaran pengendalian tutorial ini: sistem windows10, versi php8.1.3, komputer DELL G3.

Dalam PHP, kita boleh menggunakan gelung untuk menanyakan subkategori. Dalam contoh berikut, kami akan menggunakan jadual kategori mudah sebagai pangkalan data contoh dan menanyakan subkategori melalui gelung.

1. Kita perlu mencipta pangkalan data dan jadual klasifikasi mudah. Kita boleh menggunakan pernyataan SQL berikut untuk mencipta jadual:

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

2. Kita perlu mengisi beberapa sampel data ke dalam jadual klasifikasi. Kita boleh menggunakan pernyataan SQL berikut untuk mengisi data:

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

3. Kita boleh mula menulis kod PHP untuk menanyakan subkategori dalam gelung. Berikut ialah kod contoh mudah:

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

Dalam kod di atas, kami mula-mula menyambung ke pangkalan data, dan kemudian mentakrifkan pertanyaan fungsiSubkategori untuk menanya subkategori secara rekursif. Selepas itu, kami menanyakan kategori teratas dan memanggil fungsi ini untuk menanyakan subkategorinya. Akhirnya, kami menutup sambungan pangkalan data.

Dengan kod di atas, kami boleh menanyakan subkategori dalam satu gelung dan mengeluarkan hasil ke halaman.

Ringkasan:

Menggunakan gelung untuk menanyakan subkategori ialah keperluan biasa. Dengan menggunakan rekursi dalam PHP, kami boleh menanyakan semua subkategori dengan mudah dan memprosesnya secara fleksibel. Dalam aplikasi praktikal, kami boleh memproses dan memaparkan hasil pertanyaan mengikut keperluan

Atas ialah kandungan terperinci Bagaimana untuk menanyakan subkategori dalam gelung dalam 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
Artikel sebelumnya:Apa itu laman web phpArtikel seterusnya:Apa itu laman web php