Php 我的评分系统有问题
我的代码的这一部分用于每当我要求学生的学期成绩(课程成绩)时,给学生的分数打分。但是,只有一个特定的分数会被授予所有分数,大多数情况下,上传到学生数据库的最后一个结果会被授予所有分数。当我在成绩上加上句号时,即Php 我的评分系统有问题,php,mysql,Php,Mysql,我的代码的这一部分用于每当我要求学生的学期成绩(课程成绩)时,给学生的分数打分。但是,只有一个特定的分数会被授予所有分数,大多数情况下,上传到学生数据库的最后一个结果会被授予所有分数。当我在成绩上加上句号时,即 $grade .= 'A'; $grade .= 'B'; $grade .= 'C'; $grade .= 'D'; $grade .= 'E'; 在每一列中重复所有等级。假设一个学生在一个学期里修了6门课,总共 3 A's , 2 B's , 1 C 在
$grade .= 'A';
$grade .= 'B';
$grade .= 'C';
$grade .= 'D';
$grade .= 'E';
在每一列中重复所有等级。假设一个学生在一个学期里修了6门课,总共
3 A's , 2 B's , 1 C
在这六门课程中,每行重复所有6个等级
我很乐意展示代码的其他部分。
谢谢你的时间和耐心
while ($row8 = mysql_fetch_assoc ($query8)) {
if ($row8['score'] >= 70) {
$grade = 'A';
}
elseif ($row8['score'] >= 60) {
$grade = 'B';
}elseif ($row8['score'] >= 50) {
$grade = 'C';
}elseif ($row8['score'] >= 45) {
$grade = 'D';
}elseif($row8['score'] >= 40) {
$grade = 'E';
}else{
$grade = 'F';
}
}
这是查询(查询8),查询学生学期课程的分数
$query8 = mysql_query("SELECT m. score
FROM maintable AS m
INNER JOIN students AS s ON
m.matric_no = s.matric_no
INNER JOIN courses AS c ON
m.course_code = c.course_code
WHERE m.matric_no = '".$matric_no."'
AND m.level = '".$level."'")
or die (mysql_error());
需要将结果存储在数组中。。。当使用任何循环逻辑时,请执行以下操作
$arr = array();
while ($row8 = mysql_fetch_assoc ($query8)) {
if ($row8['score'] >= 70) {
$grade = 'A';
}
elseif ($row8['score'] >= 60) {
$grade = 'B';
}elseif ($row8['score'] >= 50) {
$grade = 'C';
}elseif ($row8['score'] >= 45) {
$grade = 'D';
}elseif($row8['score'] >= 40) {
$grade = 'E';
}else{
$grade = 'F';
}
$arr[$row8['score']] = $grade;
}
现在,您可以从$arr检索您得到的结果。。。
谢谢,除了将$grade设置为A/B/C/D/E/F之外,循环中的$grade不做任何事情。因此,最后一个分数的值将决定$grade的最终值。你在哪里把$grade的价值应用到其他东西上 在所有if语句之后,循环的最后一行应该是这样的:
do_something_with_grade($grade);
什么学校提供了
E
等级?$query8
对于了解发生了什么绝对重要。听起来你的JOIN
正在自信地进行交叉连接,它返回所有组合。@guvante。。。我应该提供代码的其他哪些部分。。。。亚当,我的学校有。尽你所能展示。所有这些都很好。@jay我已经更新了问题,并添加了需要数据库分数的查询。我添加了数组,但仍然得到了相同的答案。谢谢,逻辑是完美的。。。数据检索可能有问题。。。检查。。非常感谢。我用来调用数据的查询会有问题吗?谢谢