【发布时间】:2015-08-25 12:54:17
【问题描述】:
在我的网站上,我想制作一个类似this 的导航栏,其中包含类别(此处为 2012 年)和文章(此处为 5 月至 10 月)。我有一个包含所有类别(infocat_id、名称)和一个包含所有文章(标题、正文、类别、infopost_id)的 MySQL 数据库。
我认为我可以将我的 php 编码如下:
<ul>
<?php
$query1 = $db->prepare("SELECT infocat_id, name FROM info_category");
$query1->execute();
$query1->bind_result($infocat_id, $name);
while($query1->fetch()):
?>
<li>
<?php echo $name; ?>
<ul>
<?php
$query2 = $db->prepare("SELECT title, infopost_id FROM info_posts WHERE category = $infocat_id");
$query2->execute();
$query2->bind_result($title, $infopost_id);
while($query2->fetch()):
?>
<li><?php echo $title; ?></li>
<?php endwhile; ?>
</ul>
</li>
<?php endwhile; ?>
</ul>
遗憾的是,这不起作用,因为我只有第一个类别名称,并且在“致命错误:调用 [php 文件所在目录中的非对象上的成员函数 execute() ] 在 [$query2->execute();] 行上。
我认为我不能使用 JOIN,因为我还需要第一个查询的输出。
我对 PHP 不是超级有经验,所以如果有人能帮助我,将不胜感激。
【问题讨论】:
-
您在寻找嵌套类别吗?
-
您如何获得在第二个查询中使用的
$infocat_id?
标签: php mysql navigation