我有以下代码用于从mysql数据库中选择记录并加载博客文章,我想要做的是计算b_id
和id
的匹配记录数,并仍然显示博客文章。
$result = $dbc->prepare("SELECT id, title, post, date, time, blog, b_id, name, comment FROM blog ORDER BY id DESC LIMIT $start_blog , $blog_per_page");
$result->execute();
$result->bind_result($id, $title, $post, $date, $time, $blog, $b_id, $name, $comment);
while ($row = $result->fetch()) {
Code to show the blog posts
Show number of comments on the post i.e. Comments (2)
}
我必须有一个空白的时刻,因为我确信它是相当简单的,但每当我使用代码时
count ( b_id ) WHERE b_id = id
博客帖子未显示(即计算匹配而不发送博客文章数据。
希望这是有道理的
此致 吉姆
答案 0 :(得分:1)
将b_id及其数据外包到另一个表中可能更有意义,但这取决于您要实现的目标。
无论如何要正确回答你的问题,你可以做两个单独的查询(一个有计数,另一个有所有数据)或者只是让php处理它:
$count = 0;
if($b_id == $id) { $count++; }
答案 1 :(得分:0)
好的,经过多次试验和错误,我设法用左连接做到了这一点。如果有人发现它的使用或兴趣,这是代码。
$result = $dbc->prepare("SELECT blog.id, blog.title, blog.post, blog.date, blog.time, count(blog_comment.b_id) CommCount FROM blog LEFT JOIN blog_comment ON blog.id = blog_comment.b_id GROUP by blog.id ORDER BY id DESC LIMIT $start_blog , $blog_per_page");
$result->execute();
$result->bind_result($id, $title, $post, $date, $time, $b_id);
while ($row = $result->fetch()) {
//Code to show blog posts, using $b_id to display the number of comments
}
非常感谢您的帮助和意见,这一切都加起来找到了我渴望的解决方案!!
吉姆