可能的重复项:
使用 php 将类别和子类别显示为两列
如何使用 php 以这种格式显示类别和子类别。
categories subcategories
---------- -------------
php php4
java java4
java java5
我的桌子是
cattitle subcattitle
-------- -------------
acer
php
java
compaq java4
dell
laptop1
laptop2
"宏碁"是一个主要类别,"PHP"和"Java"是它的子类别,依此类推。我想使用 php 显示这种类型的结构。它也来自一张桌子。表名为 categories
,字段为 id
、 parentid
和 cattitle
。
我已经尝试过这段代码。
这里有一种方法。它要求主要类别具有 parent_id
= 0 ...
SELECT sc.`cattitle` as `subcat`,
(SELECT c.`cattitle`
FROM `categories` as c
WHERE c.`id` = sc.`parent_id`) as `cat`
FROM `categories` as sc
WHERE sc.`parent_id` != 0
。这是另一种变体...
SELECT sc.`cattitle` as `subcat`,
c.`cattitle` as `cat`
FROM `categories` as sc
LEFT JOIN `categories` as c
ON (c.`id` = sc.`parent_id`)
WHERE sc.`parent_id` != 0
如果您的表结构如下,这将起作用:
id cattitle parent_id
1 java 0
2 java4 1
3 java5 1
4 php 0
5 php5.3 4
6 php4.3 4