Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “用户”;类别“;表为“的标题”;“子类别”;_Php_Sql - Fatal编程技术网

Php “用户”;类别“;表为“的标题”;“子类别”;

Php “用户”;类别“;表为“的标题”;“子类别”;,php,sql,Php,Sql,我不知道这是否可能。。。 但我需要创建一个sql查询,列出我的所有类别及其子类别。问题是类别和子类别存储在单独的表中 数据库结构如下:表名:“类别”,列:“ID,名称” 表名:“子类别”。列:“ID、名称、类别\u ID”。类别ID用于使用ID将每个子类别链接到其父类别 现在我只有一个sql查询代码,它可以提取所有的“类别”。。。我如何才能使其显示每个类别下的子类别列表 <?php $catlist= mysql_query('SELECT * FROM categories WHERE

我不知道这是否可能。。。 但我需要创建一个sql查询,列出我的所有类别及其子类别。问题是类别和子类别存储在单独的表中

数据库结构如下:表名:“类别”,列:“ID,名称”

表名:“子类别”。列:“ID、名称、类别\u ID”。类别ID用于使用ID将每个子类别链接到其父类别

现在我只有一个sql查询代码,它可以提取所有的“类别”。。。我如何才能使其显示每个类别下的子类别列表

<?php
$catlist= mysql_query('SELECT * FROM categories WHERE hide = 0 ORDER BY `order` ASC')
or die(mysql_error());  
?>
<?php foreach ($catlist as $catitem): ?>
<h2 class="category"><?php echo $catitem['name']; ?></h2>
<?php endforeach; ?>
<?php ?>

这将为您获取其余信息-然后您需要进行布局并抑制重复的类别文本

SELECT * 
FROM categories c, sub_categories s
WHERE c.hide = 0 
AND s.category_id = c.category_id
ORDER BY `order` ASC

您可以使用子类别表的联接


但是,我建议不要在表级别区分顶级类别和次级类别,而是将它们放在一个表中,并包含以下字段:parent_id、left_id和right_id。基本上,这允许在层次结构中无限深度地划分类别。可能需要对如何正确地实现它进行一些研究,但到目前为止它更强大。

我可能大错特错,但Join应该可以解决这个问题。