类别和子类别

时间:2011-02-27 11:17:18

标签: php mysql

几小时前我问了一个问题 - 后来决定改变我的sql结构。

我有两张桌子:

categories (id,title,parent_id)
articles (id,title,content,parent_id)

每篇文章只能有一个类别,
每个类别可以有1个父类别


一个例子:

article (id = 1) has : parent_id = 3
category (id = 3,'root') has: parent_id = 2
category (id = 2,'sub') has: parent_id = 1
category (id = 1,'subsub') has: parent_id = 0

我想为 - article (id=1)生成面包屑
这将显示为:Root->sub->subsub

实现这一目标的有效方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:6)

  1. 加载文章时,递归阅读所有类别并显示面包屑。

  2. 如果您需要为每个脚本多次获取所有父项(例如,当您加载50篇文章并且每个文章都需要父项时),请使用嵌套集模型,如{ {3}}

答案 1 :(得分:0)

你可以创建函数,然后在函数中调用你的函数!

例如

function find(id){
   list_site = array();
   if whatsparent(id){
       list_site[] = whatsparent(id)["name"];
       find(whatsparent(id)["id"]);
   }
}

function whatsparent(x){
   ...
   return parent #array of parent detail
}

抱歉,如果我在php中有错误...我是python开发人员:D