要查询一个类别下的所有子类,您可以使用递归方法来实现。以下是一个使用PHP编写的示例代码:
```php
function getAllSubcategories($categoryId, $connection) {
$sql = "SELECT id FROM categories WHERE parent_id = ?";
$stmt = $connection->prepare($sql);
$stmt->bind_param("i", $categoryId);
$stmt->execute();
$result = $stmt->get_result();
$subcategories = array();
while ($row = $result->fetch_assoc()) {
$subcategoryId = $row['id'];
$subcategories[] = $subcategoryId;
// 递归调用以获取子类的子类别
$subcategories = array_merge($subcategories, getAllSubcategories($subcategoryId, $connection));
}
return $subcategories;
}
// 使用示例:
$categoryId = 1; // 要查询的类别ID
$connection = new mysqli("localhost", "username", "password", "database_name");
$subcategories = getAllSubcategories($categoryId, $connection);
// 输出结果
foreach ($subcategories as $subcategory) {
echo $subcategory . '
';
}
```
请注意,以上代码假设您有一个名为"categories"的表格,其中包含以下字段:id(类别ID)、parent_id(父类别ID)。您需要将数据库连接信息和表格名称替换为您自己的设置。
这段代码将返回给定类别下的所有子类别的ID,并将结果存储在一个数组中。您可以根据您的需求对结果进行进一步处理,例如输出子类别的名称或其他属性。
本网转载内容版权归原作者和授权发表网站所有,仅供学习交流之用,如有涉及版权问题,请通知我们尽快处理。