php - 如何计算表中的行数 (phpMyAdmin)

标签 php mysql fpdf

我目前正在使用 php 和 mysql 开发一个考勤系统,我想计算该学生在同一张 table 上发生的出席/缺席/迟到的次数。例如,表格看起来像这样。

student_name | attendance status |  date
             |                   |
student1     |  Present          |  2019-02-21
student2     |  Absent           |  2019-02-21
student3     |  Late             |  2019-02-21  
student1     |  Absent           |  2019-02-22
student2     |  Absent           |  2019-02-22
student3     |  Present          |  2019-02-22

我想要如下输出:显示学生一个月内有多少次出席/缺席/迟到

student 1    | 20 presents       |  4 absents   | 2 lates

我正在使用fpdf 库,但即使是 php 代码也是一个很大的帮助。

表名称:出勤记录

Solr 'n

    $result = mysqli_query($conn, "
                                SELECT student_name,
  SUM(CASE WHEN attendance = 'Present' THEN 1 ELSE 0 END) AS presents,
  SUM(CASE WHEN attendance = 'Absent' THEN 1 ELSE 0 END) AS absents,
  SUM(CASE WHEN attendance = 'Late' THEN 1 ELSE 0 END) AS lates
FROM attendance_records
GROUP BY student_name
    ") or die("database error:". mysqli_error($conn));                                    
    foreach( $result as $row ) {
    $pdf->SetFont('Arial','I',9);
    $pdf->Ln();     
      foreach($row as $column) {                                                                                                                                                           
    $pdf->Cell(39,10,$column,1);
    }
}

最佳答案

您可以组合SUMCASE实现你所需要的

尝试使用查询

SELECT student_name,
  SUM(CASE WHEN attendance = 'Present' THEN 1 ELSE 0 END) AS presents,
  SUM(CASE WHEN attendance = 'Absent' THEN 1 ELSE 0 END) AS absents,
  SUM(CASE WHEN attendance = 'Late' THEN 1 ELSE 0 END) AS lates
FROM attendance_records
GROUP BY student_name

关于php - 如何计算表中的行数 (phpMyAdmin),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54791664/

相关文章:

php - Firebase PHP 身份验证

python - 如何将 Python 参数化 MySQL 语句与动态 SELECT 语句结合起来?

javascript - FPDF:使用 AJAX 输出 PDF

php - foreach函数从mysql db创建数组

php - 了解用户权限以及如何应用它

php - 使用php对记录集列中的负数/正数求和

php - 如何使用 PHP 使用 FPDF 制作这样的表格?

php - 计算每个用户在系统上消耗的时间的有效方法

mysql - 本地 Firebird 数据库复制/同步到在线数据库

php - 如何在 fpdf 输出上获取页面标题?