【问题标题】:Can I run a separate query on each row instead of printing all the data with a single query?我可以对每一行运行单独的查询,而不是使用单个查询打印所有数据吗?
【发布时间】:2020-12-20 18:04:58
【问题描述】:
$query = mysqli_query($conn,SELECT `date`,`name`,`surname`, COUNT(*) AS abc FROM `trial` WHERE `name`='asd' GROUP BY `date`,`name`,`surname` ORDER BY `date` DESC);

<?php while ($row = mysqli_fetch_array($query)) : ?>
     <td><?php echo $row['abc']; ?></td>
     <td><?php echo $row['Can I print a value returned from a different query, not abc? ']; ?></td>

 <?php endwhile; ?>

我可以对第二行运行单独的查询吗?

【问题讨论】:

  • 您可以运行另一个查询,也可以将两个查询合并为一个查询。
  • 我一般推荐加入。
  • 您想从中获取值的另一个查询是什么?
  • 你能举一个可以这样使用的简单查询的例子吗?
  • 如果你展示其他查询,我可以展示如何组合它们。

标签: php mysql while-loop row echo


【解决方案1】:

将它们组合成一个查询,获取每个姓氏的两个计数。

<?php
$query = mysqli_query($conn,"
    SELECT `date`,`surname`, SUM(name = 'asd') AS asd_count, SUM(name = 'opr') AS opr_count
    FROM `trial` 
    WHERE `name`= IN ('asd', 'opr')
    GROUP BY `date`,`surname`
    ORDER BY `date` DESC");
$result = mysqli_query($conn, $query);
while ($row = mysqli_fetch_assoc($result)): ?>
     <tr>
     <td><?php echo $row['date']; ?></td>
     <td><?php echo $row['surname']; ?></td>
     <td><?php echo $row['asd_count']; ?></td>
     <td><?php echo $row['opr_count']; ?></td>
     </tr>
<?php endwhile; ?>

multiple query same table but in different columns mysql

您还需要为查询返回的每一行创建一个新的&lt;tr&gt;

【讨论】:

  • 非常感谢,我很明白。查询工作正常,但有一个问题。它不会在同一行显示具有相同日期、相同姓氏但不同名称的数据。所以它在两个不同的行上显示为 asd_count 和 opr_count。我希望它并排出现在同一行。
  • 他们应该。但它缺少&lt;tr&gt; 来开始新的一行。我添加了那个。
  • 不完全是。我这样做了,但是mysql查询有问题。如果我能用照片展示它会很棒。
  • 提供上传截图的链接。
猜你喜欢
  • 2022-11-22
  • 1970-01-01
  • 2020-11-09
  • 2021-01-18
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多