我希望能够为内容页面构建面包屑,但是一段内容所在的类别可以有无限的深度,所以如果不逐个获取每个类别,我不知道如何去做获取其父级等。这似乎是一种更简单的方法,但我无法弄清楚。
我有一个文章表
article_id
article_name
article_cat_id
我也有一个类别表
cat_id
cat_name
cat_parent
Cat parent 是另一个类别的 id,其中一个类别是子类别。
想象一篇深度为 5 个类别的文章,据我所知,我必须构建类似这样的面包屑(示例代码显然应该对输入进行转义等)
<?php
$breadcrumbs = array(
'Category 5',
'Content Item'
);
$cat_parent = 4;
while($cat_parent != 0) {
$query = mysql_query('SELECT * FROM categories WHERE cat_id = '.$cat_parent);
$result = mysql_fetch_array($query, MYSQL_ASSOC);
array_unshift($breadcrumbs, $result['cat_name']);
$cat_parent = $result['cat_parent'];
}
?>
这会给我
array(
'Category 1',
'Category 2',
'Category 3',
'Category 4',
'Category 5',
'Content Item'
)
我可以将其用于我的面包屑,但是我花了 5 个查询来完成它,这并不是最好的。
任何人都可以提出更好的解决方案吗?