我需要你的帮助。我在course_unit的列上执行SUM(),但我希望它省略某个条件然后继续循环。示例:循环中应省略等级 AR 的课程,然后继续。
感谢您的帮助和耐心。我最欣赏它。 感谢
Query4 用于生成 course_unit 和分数
的一些行 $query4 = mysql_query("SELECT c.course_unit, 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());
Query3 用于 course_units
的总和 $query3 = mysql_query("SELECT SUM(c.
course_unit) AS 'TOTAL'
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());
得分等级
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';
}elseif($row8['score'] >= 0) &&
($row8['score'] < 40){
$grade = 'F';
}else{
$grade = 'AR';
}
}
计算成绩点
$grade_point = 0;
while ($row4 = mysql_fetch_assoc($query4)) {
if ($row4['score'] >= 70) {
$score = 5;
}
elseif ($row4['score'] >= 60) {
$score = 4;
}elseif ($row4['score'] >= 50) {
$score = 3;
}elseif ($row4['score'] >= 45) {
$score = 2;
}elseif($row4['score'] >= 40) {
$score = 1;
}else{
$score = 0;
}
$grade_point += $score * $row4['course_unit'];
}
问题更新
如果循环在
处中断$grade == 'AR'
具有成绩的课程是否会计算出 course_unit SUM()?
答案 0 :(得分:0)
这种情况可以包含在你的SQL中吗?
否则,
while (something)
{
if (!omitCondition)
DoTheThing
}
答案 1 :(得分:0)
这个怎么样:
while( <loop condition> )
{
if( $grade == "AR" )
{
continue;
}
<other statements>
}