【发布时间】:2017-10-27 17:12:51
【问题描述】:
让我解释一下背景故事,老师可以设置学生在场或缺席。这些学生的值被放入数据库中,此查询选择课程代码并计算某节课上学生的百分比,但是我有点不知道该怎么做,文件必须转换为 JSON 和放入 ChartJS 条形图,但由于某种原因,我似乎无法弄清楚这段代码,必须为每个班级计算每个百分比,所以我不能使用 IN 或类似的东西来计算整个课程的存在而不是每节课的课程(这就是 klas.code = '$klas' 的用途)有人知道我如何获得 1 个结果但仍然能够分别计算每个课程的百分比吗?
谢谢。
$klassen = array("WFHBOICT.V1E", "WFHBOICT.V1F");
foreach($klassen as $klas){
//query to get data from the table
$query = ("SELECT klas.code klas, ROUND(
(
SELECT Count(aanwezigheid)
FROM aanwezigheid
JOIN college ON aanwezigheid.Ccode = college.code
JOIN klas ON college.Kcode = klas.code
WHERE klas.code = '".$klas."' AND vak.code = 'WFHBOICT.M032.16' AND college.college = '8'
AND aanwezigheid = '1'
)
/
(
SELECT Count(aanwezigheid)
FROM aanwezigheid
JOIN college ON aanwezigheid.Ccode = college.code
JOIN klas ON college.Kcode = klas.code
WHERE klas.code = '".$klas."' AND vak.code = 'WFHBOICT.M032.16' AND college.college = '8'
)
* 100)
as percentage
FROM aanwezigheid
JOIN college ON aanwezigheid.Ccode = college.code
JOIN klas ON college.Kcode = klas.code
JOIN vak ON college.Vcode = vak.code
WHERE klas.code = '".$klas."' AND vak.code = 'WFHBOICT.M032.16' AND college.college = '8'
GROUP BY klas.code");
//execute query
$result = $mysqli->query($query);
//loop through the returned data
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
print json_encode($data);
这是结果:
[{"klas":"WFHBOICT.V1F","percentage":"67"}]
它必须返回括号之间的两个类,而不仅仅是 1...
【问题讨论】:
标签: php mysql json database foreach