2012-03-18 3 views
0

Пожалуйста, мне нужна ваша помощь. Я выполняю SUM() в столбце для course_unit, но я хочу, чтобы он опустил определенное условие, а затем продолжил цикл. Пример: курс, который имеет класс от AR следует исключить из цикла, а затем продолжить.Как выпрыгнуть из цикла, а затем продолжить

Спасибо за помощь и терпение. Я очень ценю это. Благодаря

Query4 используется для создания некоторых строк course_unit и Score

$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

 $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']; 

     } 

ВОПРОС UPDATE

случае разрыва петли на

$grade == 'AR' 

Имеет ли курс курс класс получает его course_unit рассчитано в SUM()?

+2

Используйте 'continue', чтобы перейти к следующей итерации цикла, и' break' для выхода из цикла полностью. –

ответ

0

Как об этом:

while(<loop condition>) 
{ 
    if($grade == "AR") 
    { 
     continue; 
    } 
    <other statements> 
} 
0

Может ли это условие содержаться в вашем SQL?

В противном случае,

while (something) 
{ 
if (!omitCondition) 
    DoTheThing 
} 
+0

В каком состоянии вы говорите о сэре? –

Смежные вопросы