2016-05-19 7 views
0

Ich habe eine Datenbanktabelle, in der Vorname, Nachname und Testergebnisse des Kursteilnehmers gespeichert werden. Für jeden Schüler gibt es mehrere Tests wie,Horizontale Daten der vertikalen Spalten anzeigen

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

In der obigen MySQL-Tabelle, Fahad Uddin und zwei Testergebnisse des Safwan Shah werden in der Datenbank gespeichert.

Der Kunde will auf dem Bildschirm, um die Ergebnisse zeigen, wie folgt,

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

Ich stecke, wie weise die Testergebnisse Zeile angezeigt werden soll. Bitte vorschlagen.

Dank

<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

Was ist das Problem? –

Antwort

0

Sie das Array reformieren und die beiden Datensätze in einem, wie diese exemple machen ,:

$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

müssen Sie hinzufügen Grade in die Tabelle – ImadOS

+0

Was bedeutet '$ data = array();' tun? –

+0

Ich habe diesen Code eingefügt, aber aus irgendeinem Grund funktioniert es nicht. –

Verwandte Themen