使用php在文章页面上使用两个查询创建面包屑
我想让我的网站上的面包屑看起来像这样:使用php在文章页面上使用两个查询创建面包屑,php,mysql,sql,Php,Mysql,Sql,我想让我的网站上的面包屑看起来像这样:Home/Category/Sub-Category/Article示例: 表格结构 类别:id--parentid--title 文章:id--categoryid--title--content * 将文章标题打印到面包屑很容易。但我还想打印文章的类别。(即使文章中有子类别,也不例外。正如上面的例子所示。) 我想我需要带有双查询的php代码,一个用于“categories”,另一个用于“articles”表 * 编辑 我想构建一个名为“article.p
Home/Category/Sub-Category/Article
示例:
表格结构
类别:id--parentid--title
文章:id--categoryid--title--content
*
将文章标题打印到面包屑很容易。但我还想打印文章的类别。(即使文章中有子类别,也不例外。正如上面的例子所示。)
我想我需要带有双查询的php代码,一个用于“categories”,另一个用于“articles”表
*
编辑
我想构建一个名为“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;
这是[SQLFiddle]上的POC
因此,在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>;
}
while($r=$query->fetch()){
回声';
if(isset($r['cat_title_parent']))
回音“/”.$r[“类别标题父项];
如果(isset($r['cat_title']))
回音“/”.$r['cat_title'];
回声“
”;
回音“.$r[“艺术作品名称]”;
回音“”.$r[“艺术内容”]。;
}
到目前为止,您做了哪些工作来实现这一目标?请将PHP代码粘贴到此处。请提供更多详细信息,例如,数据库中的一些数据以及您希望在什么位置显示哪些数据format@davejal不要在没有先清理的情况下将用户输入直接传递到查询中,这是SQL注入的一个秘诀。请注意使用准备好的语句。@不要输入代码???我没有问这个问题!!!@davejal oops哈哈,我的错,那是针对Lukasz:)谢谢你的代码。但是如何回显父类别名称?我现在很痛苦。@Lukasz你有没有看过SQLFiddle?我明白了,但是我需要在php上打印它们。(我是初学者,也许我不懂或者我错过了什么。这很可能。)我需要回应父类。例如:如果你看SQLFIDLE(或者)你回到cate
和cate\u parent
;cate是你文章的直接对象,cate\u parent是(如果存在的话)文章的父项category@Lukasz没问题;)顺便说一句,如果有人需要搜索,请在问题中添加标记SQL,因为它与SQL相关