2016-05-19 5 views
0

У меня есть таблица базы данных, в которой хранятся имя, фамилия и результаты тестирования учащегося. Для каждого студента, есть несколько тестов, как,Отображение данных вертикальных столбцов по горизонтали

First-Name Last-Name Test Result 
Fahad  Uddin  Merit 
Safwan  Shah  Fail 
Fahad  Uddin  Fail 
Safwan  Shah  Merit 

В приведенной выше таблице MySQL, Fahad Uddin и два результата испытаний Сафваны шах спасаемый в базе данных.

Клиент хочет, чтобы показать результаты на экране следующим образом,

First-Name Last-Name Test-1 Test-2 
Fahad  Uddin  Merit Fail 
Safwan  Shah  Fail Merit 

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

Благодаря

<table align="center"> 
                <!--Main work here--> 
         <h1 class="text-center">Progress Report</h1> 
         <table> 
         <tr> 
         <th>First Name</th> 
         <th>Last Name</th> 

         <th>Grade</th> 
         </tr> 
        <?php 
         $query_year = "SELECT t1.Pupils_FirstName,t1.Pupils_Surname, t2.Progress_Report_Grades_Code 
         from pupils t1 join (SELECT * FROM progress_track JOIN `time_table` ON time_table.Time_Table_ID = progress_track.Progress_Report_Time_Table_ID WHERE `Time_Table_Centre` LIKE '15' AND `Time_Table_Year` LIKE 'year10' AND `Time_Table_Subject` LIKE '10') t2 on t1.Pupils_ID = t2.Progress_Report_Pupils_ID"; 
         $result_year = mysql_query($query_year); 
         while ($row_year = mysql_fetch_array($result_year)) { 
          $fname = $row_year['Pupils_FirstName']; 
          $sname = $row_year['Pupils_Surname']; 
          $grade = $row_year['Progress_Report_Grades_Code']; 

          echo "<tr><td>".$fname."</td>"."<td>".$sname."</td>"."<td>".$grade."</td></tr>"; 
        ?> 
        <?php 

        } 
        ?> 
         </table> 
+0

В чем проблема? –

ответ

0

вы можете преобразовать массив и сделать две записи в одном, как этот Exemple ,:

$data = array(); 
while ($row_year = mysql_fetch_array($result_year)) { 
     $fname = $row_year['Pupils_FirstName']; 
     $sname = $row_year['Pupils_Surname']; 
     $grade = $row_year['Progress_Report_Grades_Code']; 
     $full_name = "$fname $sname"; 
     if (isset($data[$full_name])) 
      $data["$fname $sname"]["Progress_Report_Grades_Code_2"] = $grade; 
     else 
      $data["$fname $sname"] = $row_year; 


} 

foreach($data as $fullname=>$row){ 
     $fname = $row['Pupils_FirstName']; 
     $sname = $row['Pupils_Surname']; 
     $grade1 = $row['Progress_Report_Grades_Code']; 
     $grade2 = $row['Progress_Report_Grades_Code_2']; 
     echo "<tr><td>".$fname."</td>"."<td>".$sname."</td>"."<td>".$grade1."</td>"."<td>".$grade2."</td></tr>"; 
} 
+0

вы должны добавить Оценка в таблицу – ImadOS

+0

Что делает '$ data = array();' do? –

+0

Я вставил этот код, но по какой-то причине он не работает. –

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