我对PHP和MySQL有点新手。我正在创建我自己的小新闻博客。我必须显示我想要的信息,但我想要做的是计算评论的数量。我做了2个表,第一个表是文章,另一个是评论。我不确定如何解决这个问题。有人可以帮忙吗?
$input_now1 = "SELECT blog_entries.id, blog_entries.posted, blog_entries.subject, blog_entries.quicktext
FROM blog_entries
ORDER BY blog_entries.posted DESC
LIMIT 0, 3;";
$result1 = mysql_query($input_now1);
?>
<div id="middle">
<div id="box1">
<?php
while($record1 = mysql_fetch_assoc($result1))
{
?>
<h2 style="padding-top:5px;"><?php echo $record1['subject']; ?></h2>
<div id="header1" style="position:relative;"></div>
<div id="maintext" style="position:relative;">
<p><?php echo $record1['quicktext']; ?></p>
<a href="blog_articles.php?ID=<?php echo $record1["id"];?>">View Article - <?php echo date("D jS F Y g:iA",strtotime($record1["posted"]));?></a>
</div>
<div id="text_footer"></div>
<?php
}
mysql_free_result($result1);
?>
</div>
<?php
include 'include/sidebar.php';
?>
</div>
表1 blog_entries: ID 发布 学科 身体 quicktext
表2 blog_comments: ID blog_id 发布 名称 评论
答案 0 :(得分:1)
我们需要知道您的数据库架构,但它可能是这样的......
SELECT COUNT(comment.id) AS numcomments,
entry.id,entry.posted,entry.subject,entry.quicktext
FROM `blog_comments` comment, `blog_entries` entry
WHERE comment.blog_id=entry.id
GROUP BY entry.posted, entry.subject, entry.quicktext
答案 1 :(得分:1)
我只是在循环边界内的任何地方添加这样的东西,有点移动你的代码。循环开始后,您将收集ID,然后您将能够运行COUNT并回显特定计数。除非循环再次运行,否则它不会处理循环...
<?php
$input_now2 = "SELECT COUNT( blog_id ) FROM blog_comments WHERE blog_id =
'$result1[id]'";
$comments_count = mysql_query($input_now2);
echo '<p>' . $comments_count . '</p>';
?>
你可以在循环中的任何地方放置类似于$ result1 ....
的内容希望我明白你想做什么。
答案 2 :(得分:0)
我明白你的意思,也许如果我这样做会有更好的例子enter code here
....
$input_now1 = "SELECT blog_entries.id, blog_entries.posted, blog_entries.subject, blog_entries.quicktext
FROM blog_entries
ORDER BY blog_entries.posted DESC
LIMIT 0, 3;";
$result1 = mysql_query($input_now1);
$input_now2 = "SELECT COUNT( blog_id )
FROM blog_comments WHERE blog_id = 'blog_entries.id'";
$result2 = mysql_query($input_now2);
$record2 = mysql_fetch_assoc($result2)
?>
<div id="middle">
<div id="box1">
<?php
while($record1 = mysql_fetch_assoc($result1))
{
?>
<h2 style="padding-top:5px;"><?php echo $record1['subject']; ?></h2>
<div id="header1" style="position:relative;"></div>
<div id="maintext" style="position:relative;">
<p><?php echo $record1['quicktext']; ?></p>
<p>Comments: (<?php echo $record2['blog_id']; ?></p>
<a href="blog_articles.php?ID=<?php echo $record1["id"];?>">View Article - <?php echo date("D jS F Y g:iA",strtotime($record1["posted"]));?></a>
</div>
<div id="text_footer"></div>
<?php
}
mysql_free_result($result1);
?>
</div>
<?php
include 'include/sidebar.php';
?>
</div>
如果我不清楚你的意思,我很抱歉。我一直想弄清楚这几天,我不知道我是不是在考虑它。