Заголовок столбца и ошибка обновления - PullRequest
0 голосов
/ 14 марта 2012

Пожалуйста, мне нужна помощь моего сценария.Я создаю новую колонку, в которой конкретному баллу присваивается балл согласно баллу.Этот запрос использовался для получения оценок из основной таблицы.

$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());
    $number_cols1 = mysql_num_fields              ($query8);

Я смог соответственно сгенерировать оценки, и в таблицу HTML был добавлен новый столбец, но у меняпроблема с добавлением заголовка в новый столбец, который был добавлен, т.е. "Оценки".Также я заметил, что когда я обновляю счет и перезапускаю страницу результатов, реализация оценок вступает в силу, т.е. если прежний результат был «80» с оценкой «А», и я понижаю рейтинг до «33» с оценкойиз «F», сценарий по-прежнему выводит «A», в то время как оценка изменилась.

2) Я также пытаюсь скопировать все курсы с оценкой «F» в отдельную таблицу.Таким образом, студент будет знать курсы, которые ему / ей придется пройти заново.Но моя реализация массива не достигает этого.

Спасибо за вашу помощь.

               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';
              }   }          

                echo "<table border = \"2\"                  cellspacing = \"1\" cellpadding =              \"2\"  bgcolor = MediumPurple class             =\"cambria\" >\n"; 
    echo "<tr align= \"center\">\n";

             echo "<th>";     //this echo out
         echo"s/n";        //the serial number
echo "</th>\n";  //heading for the table                      
     for ($i=0; $i<$number_cols; $i++) {                         
             echo "<th>" . mysql_field_name           ($query7, $i). "</th>\n";


                  }$serial = 0;                                                                                                 
               while ($row = mysql_fetch_row           ($query7)) {    
                  $serial++; 
                  echo "<tr align=center>\n"; 
                   echo"<td>";   
                  echo $serial;  
                  echo"</td>\n"; 

                  foreach ($row as $value)   
                   {    
                    echo "<td>$value</td>\n"; 
                   }      

                  echo "<td>";     
                  echo $grade ;        
                  echo "</td>\n";                        

                  }       
         for ($i=0; $i<$number_cols; $i++) {   
                  echo "</tr>\n"; 
                  echo "</table>"; 

1 Ответ

1 голос
/ 14 марта 2012

Пожалуйста, очистите этот код, это отвратительный уродливый беспорядок, и его почти невозможно прочитать.

Как говорится, проблема в том, что вы устанавливаете буквенную оценку ДО того, как вы получите отдельные оценки.Похоже, вы используете query7 для получения оценок, но определяете оценку ДО того, как запрос будет выполнен, поэтому вы выводите одинаковую буквенную оценку для каждой оценки, выбранной запросом 7.

Поиск HEREDOC s, они помогут устранить ваш серьезный случай «синдрома наклоняющейся зубочистки» - повторяющиеся эхо-сигналы для выходного html ужасны для удобства обслуживания и разборчивости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...