首页 > 解决方案 > 在 php 中按表从 mysql 显示组

问题描述

我在 mysql 中有一个查询,它将返回一个按某些字段分组的表。我怎样才能回显这些结果?这是我的一段代码。

$stmt = $con->prepare("
SELECT classSubject
     , COUNT(*) cnt
  from Class 
 where grade=? 
   and department=? 
   and classGroup IN(?,3) 
 GROUP 
    BY classSubject;
");
    $stmt->bind_param("isi", $grade, $department, $classGroup);

 //executing the query 
 $stmt->execute();

在此之后我应该怎么做才能回显所有结果?

标签: phpmysql

解决方案


我建议查看一个好的站点,它可以作为使用什么语法的示例,例如这个.

$sql = "SELECT classSubject, COUNT(*) cnt FROM Class ";
$sql .= "WHERE grade = ? AND department = ? AND (classGroup = ? OR classGroup = 3) ";
$sql .= "GROUP BY classSubject";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("isi", $grade, $department, $classGroup);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "(classSubject, count) = (" . $row['classSubject'] . ", " . $row['cnt'] . ")";
    }
}

请注意,我COUNT(*)在 select 中为术语添加了别名,以便我们可以在 PHP 中轻松地通过名称引用它。您也可以只使用它们的数字索引来引用列,但按名称是一种更简单、更安全的方法。


推荐阅读