使用PHP输出MySQL查询使用COUNT(*)的位置

时间:2012-10-18 04:12:21

标签: php mysql sql

  

可能重复:
  mysql count into PHP variable

从MySQL命令提示符运行时,我有以下查询成功返回:

SELECT `from_email`, COUNT(*) 
FROM `user_log` 
GROUP BY `from_email` 
ORDER BY COUNT(*) DESC

此查询返回具有以下列

的结果集
`from_email` | COUNT(*)

我的问题是,如何迭代结果集并输出结果。我的格式化表格,我只需要在一个表格单元格中使用from_email,并在每个记录中使用另一个相关联的COUNT。

提前致谢

2 个答案:

答案 0 :(得分:5)

在其上添加ALIAS

SELECT `from_email`, COUNT(*) AS totalCount 
FROM `user_log` 
GROUP BY `from_email` 
ORDER BY totalCount DESC

您现在可以获取值

 $row["from_email"]
 $row["totalCount"]

答案 1 :(得分:0)

以下是连接数据库并检索结果并显示在表格中的代码。

<?
$conn = mysqli_connect("localhost", "root","root", "test");
$query="SELECT `from_email`, COUNT(*) AS emailCount FROM `user_log` GROUP BY `from_email` ORDER BY COUNT(*) DESC";
$result = mysqli_query($conn, $query);
if ($result) {
   while ($row = mysqli_fetch_array($result, MYSQLI_BOTH))
   {
      $table[] = $row;
   }
}
?>

<table border="1">
<tr>
   <td width="200">From Email</td>
   <td width="50">Count</td>
</tr>

<?
if($table){
    for($i=0;$i<count($table);$i++){
?>

<tr>
   <td><?=htmlentities($table[$i]["from_email"])?>&nbsp;</td>
   <td><?=htmlentities($table[$i]["emailCount"])?>&nbsp;</td>
</tr>

<?
    }
}
?>

</table>