如果您想使用递归的方式来获取大类下的所有分类,可以这样实现:
```php
connect_error) {
die("数据库连接失败: " . $conn->connect_error);
}
// 获取大类ID
$parentId = $_GET['parent_id']; // 假设通过GET参数获取大类ID
// 递归函数获取子分类
function getSubcategories($conn, $parentId, $level = 0) {
// 根据父类ID查询子分类
$sql = "SELECT * FROM categories WHERE parent_id = $parentId";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出每个子分类
while($row = $result->fetch_assoc()) {
echo str_repeat("--", $level) . "分类ID: " . $row["category_id"]. " - 分类名称: " . $row["category_name"]. "
";
// 递归调用自身获取子分类的子分类
getSubcategories($conn, $row["category_id"], $level + 1);
}
}
}
// 调用递归函数获取大类下的所有分类
getSubcategories($conn, $parentId);
// 关闭数据库连接
$conn->close();
?>
```
上述代码定义了一个名为`getSubcategories`的递归函数,该函数根据给定的父类ID查询子分类,并递归调用自身来获取子分类的子分类。通过增加`$level`参数,可以在输出时进行缩进,以显示分类的层级关系。
调用`getSubcategories`函数并传递大类ID,将打印出大类下的所有分类,并以嵌套的方式显示它们的层级关系。
请确保将`your_username`、`your_password`和`your_database`替换为您自己的数据库凭据和数据库名称。另外,上述代码假设您有一个`categories`表存储您的分类数据,并且该表包含`category_id`、`category_name`和`parent_id`列。
本网转载内容版权归原作者和授权发表网站所有,仅供学习交流之用,如有涉及版权问题,请通知我们尽快处理。