我希望我的网站上有面包屑,如下所示:首页/类别/子类别/文章
示例:https://jsfiddle.net/10kLs0rc/
表结构
类别:id --parentid -- title
文章:id -- 类别id -- 标题 -- 内容
*
将文章标题打印到面包屑中很容易。但我也想打印文章的类别。 (如果文章有子类别,甚至是子类别。正如您可以看到上面的示例。)
我想我需要带有双重查询的 php 代码,一个用于“类别”,另一个用于“文章”表。
*
编辑
我想要构建的页面名为“article.php”,用户将访问:“article.php?id=1”
我可以获取我想要的所有数据,但文章父类别除外。
这是我简单的代码,我想创建另一个查询来获取文章的父类别,但我陷入困境。
<?php
$id = $_GET['id'];
$query = $handler->query("SELECT * FROM article WHERE id='$id'");
while($r = $query->fetch()) {
echo "
<h3>$r[title]</h3>
<p>$r[content]</p>
";
}
?>
最佳答案
这是您想要的查询:
select
`a`.`title` as `art_title`,
`a`.`content` as `art_content`,
`c1`.`title` as `cat_title`,
`c2`.`title` as `cat_title_parent`
from `article` as `a`
left join `categories` as `c1`
on `c1`.`id` = `a`.`categoryid`
left join `categories` as `c2`
on `c2`.`id` = `c1`.`parentid`
where `a`.`id`=2;
所以在你的 php 中:
while($r = $query->fetch()) {
echo '<i>';
if(isset($r['cat_title_parent']))
echo '/'.$r['cat_title_parent'];
if(isset($r['cat_title']))
echo '/'.$r['cat_title'];
echo '</i><br />';
echo '<h3>'.$r['art_title'].'</h3>';
echo '<p>'.$r['art_content'].'</p>;
}
关于php - 使用 php 使用两个查询在文章页面上创建面包屑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849776/