【发布时间】:2013-12-12 09:39:39
【问题描述】:
我试图从我表中的一个列的字母成绩中打印出平均成绩。它适用于前两个输入,但之后当我继续添加平均值不再正确时,我不确定发生了什么。
*我觉得这不是最干净的代码
$totalGrade =0;
$result = mysqli_query($con,"SELECT id,grade FROM gpa");
while ($row = mysqli_fetch_array($result)) {
if($row['grade'] == 'A') {
$numberGrade = 4;
$totalGrade = ($totalGrade + $numberGrade);
} if ($row['grade'] == 'A-') {
$numberGrade = 3.67;
$totalGrade = ($totalGrade + $numberGrade);
} if ($row['grade'] == 'B+') {
$numberGrade = 3.33;
$totalGrade = ($totalGrade + $numberGrade);
} if ($row['grade'] == 'B') {
$numberGrade = 3;
$totalGrade = ($totalGrade + $numberGrade);
} if ($row['grade'] == 'B-') {
$numberGrade = 2.67;
$totalGrade = ($totalGrade + $numberGrade);
} if ($row['grade'] == 'C+') {
$numberGrade = 2.33;
$totalGrade = ($totalGrade + $numberGrade);
} if ($row['grade'] == 'C') {
$numberGrade = 2;
$totalGrade = ($totalGrade + $numberGrade);
} if ($row['grade'] == 'C-') {
$numberGrade = 1.67;
$totalGrade = ($totalGrade + $numberGrade);
} if ($row['grade'] == 'D') {
$numberGrade = 1;
$totalGrade = ($totalGrade + $numberGrade);
} else {
$numberGrade = 0;
$totalGrade = ($totalGrade + $numberGrade);
}
$totalGrade = $totalGrade/$row['id'];
}
【问题讨论】:
-
您可能想查看switch 声明...查看/管理会容易得多