一个php while循环中包含2个sql
我对PHP和MySQL有点不熟悉。我正在创建自己的小新闻博客。我要显示我想要的信息,但我要做的是计算评论的数量。我做了两个表格,第一个表格是文章,另一个是评论。我不知道该如何解决这个问题。有人能帮忙吗一个php while循环中包含2个sql,php,mysql,html,Php,Mysql,Html,我对PHP和MySQL有点不熟悉。我正在创建自己的小新闻博客。我要显示我想要的信息,但我要做的是计算评论的数量。我做了两个表格,第一个表格是文章,另一个是评论。我不知道该如何解决这个问题。有人能帮忙吗 $input_now1 = "SELECT blog_entries.id, blog_entries.posted, blog_entries.subject, blog_entries.quicktext FROM blog_entries ORDER BY blog_entries.
$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>
$input\u now1=“选择blog\u entries.id、blog\u entries.posted、blog\u entries.subject、blog\u entries.quicktext
从blog_条目
按blog_entries.posted DESC排序
限值0,3;“;
$result1=mysql\u查询($input\u now1);
?>
表1博客文章:
身份证件
张贴
主题
身体
快速文本
表2博客评论:
身份证件
博客id
张贴
名称
注释我们需要知道您的数据库模式才能确定,但可能是这样的
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
我理解你的意思,如果我这样做可能会更好。这里有一个示例
输入代码
$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>
$input\u now1=“选择blog\u entries.id、blog\u entries.posted、blog\u entries.subject、blog\u entries.quicktext
从blog_条目
按blog_entries.posted DESC排序
限值0,3;“;
$result1=mysql\u查询($input\u now1);
$input\u now2=“选择计数(博客id)
来自blog_评论,其中blog_id='blog_entries.id';
$result2=mysql\u查询($input\u now2);
$record2=mysql\u fetch\u assoc($result2)
?>
评论:(
很抱歉,如果我不清楚你的情况。我已经想了好几天了,我不知道我是否考虑过了。我只想在循环边界内的任何地方添加类似的内容,有点移动你的代码。循环开始后,你将收集ID,然后你就可以运行计数并响应指定的IDc计数。不是循环,除非循环再次运行,否则它不会处理
<?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的循环中的任何位置放置类似于上面的内容
希望我已经理解了您的意图。表1:blog\u条目id发布的主题正文quicktext表2:blog\u评论id blog\u id发布的名称comment@blackbull7:您应该以更可读的格式将其放在原始问题中。我已更新了我的答案以匹配您的模式。我已更新了问题。我如何才能从谁那里获取答案f在php中使用while循环还是使用其他函数?@blackbull77:该查询不需要循环:它获取所有条目的计数。我不太明白您现在的要求。如果您想获取特定条目的注释数,只需
选择计数(id)从blog_comments那里blog_id=foo
。我不是说SQL。我是说用PHP显示评论数。现在,$record1正在循环3篇文章,当$record1在PHP中使用while函数时,如何显示第二个查询,显示评论数?