我一直在环顾四周,一直看到有关显示类别的问题,并想知道如何显示我父类别的所有子类别,例如下面的链接?
我正在使用PHP& MySQL -Thanks提前!
这是我的链接。
http://www.example.com/categories/index.php?main_category=web-development&sub_1=programming&sub_2=html&sub_3=basics&sub_4=forms&sub_5=select-tag
这是我的MySQL代码。
CREATE TABLE categories (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INT UNSIGNED NOT NULL DEFAULT 0,
category TEXT NOT NULL,
PRIMARY KEY (id),
INDEX parent (parent_id)
);
我知道我可以使用mod重写来使网址看起来像这样。
http://www.example.com/categories/main-category/sub-1/sub-2/sub-3/sub-4/sub-5/
答案 0 :(得分:2)
MySQL还不支持递归查询,所以如果不付出太多努力,你就无法真正做到所要求的。
我建议您查看Bill Karwin的幻灯片Models for heirarchical data以了解存储数据的其他方法(示例:嵌套集,闭包表)。幻灯片48比较了不同设计的优缺点。 “查询子树”对您来说特别有趣,您正在使用的邻接列表模型是最难编写此类查询的模型。