我想對每個學生的學生出勤率百分比進行計算,並且會顯示屬於每個學生的每個出勤率百分比。下面是我的代碼:在php中計算mysql mysql
<tbody>
<?php
$data = "SELECT SUM(studAtt_endTime - studAtt_startTime) FROM studentAttendance";
$result = $conn->query($data)
or die ("Error: ".mysqli_error($conn)); //look if theres any error
while($ser2=mysqli_fetch_array($result)) {
?>
<?php
$counter = 1;
$data = "SELECT * FROM student INNER JOIN studentAttendance ON student.stud_matric=studentAttendance.student_stud_matric
INNER JOIN course ON course.course_code=studentAttendance.course_course_code
WHERE course_course_code LIKE '%$_GET[course]%'
GROUP BY student_stud_matric";
$result = $conn->query($data)
or die ("Error: ".mysqli_error($conn)); //look if theres any error
while($ser=mysqli_fetch_array($result)) {
?>
<tr>
<td><center><?php echo $counter;
$counter++; ?></center></td>
<td><?php echo $ser["stud_matric"];?></td>
<td><?php echo $ser["stud_name"];?></td>
<td><?php
$a = $ser["course_contacthour"];
$b = "14";
$tch = ($a * 2) * $b; // tch= total contact hour in 14 week
echo number_format($ser2["SUM(studAtt_endTime - studAtt_startTime)"]/$tch * 100, 2);?></td>
</tr>
<?php
}
?>
<?php
}
?>
</tbody>
的問題是,這個代碼將總結所有的學生出席率,它會顯示每個學生相同的百分比,而不是對學生本身的百分比。
你有一個使用'$ result'的嵌套sl查詢 - 這也會被外部查詢使用,這可能會導致問題。 – RamRaider
還有其他問題。爲什麼兩個查詢? YOu錯過了第二個查詢中參數名稱的引號(即:''%$ _ GET [course]%''應該是''%{$ _ GET ['course']}%'','number_format($ ser2 [「SUM(studAtt_endTime - studAtt_startTime)」]/$ tch * 100,2)'?? – RamRaider
我有兩個查詢,因爲它不能通過一個查詢來完成,或者它不能寫出正確的查詢 'number_format $ ser2 [「SUM(studAtt_endTime - studAtt_startTime)」]/$ tch * 100,2)'是學生考勤百分比的計算 因此,我需要第一個查詢中的SUM(studAtt_endTime - studAtt_startTime)' ,所顯示的結果是從所有學生的總和'SUM(studAtt_endTime - studAtt_startTime)'計算出來的,而不是像我想要的每個特定學生。@RamRaider –