使用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相关