Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个php while循环中包含2个sql_Php_Mysql_Html - Fatal编程技术网

一个php while循环中包含2个sql

一个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.

我对PHP和MySQL有点不熟悉。我正在创建自己的小新闻博客。我要显示我想要的信息,但我要做的是计算评论的数量。我做了两个表格,第一个表格是文章,另一个是评论。我不知道该如何解决这个问题。有人能帮忙吗

$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函数时,如何显示第二个查询,显示评论数?