2017-08-25 19 views
-1

私は私のPHPに問題があります。あなたの名前が重複しているデータベースに2行(教師の姓/名字と生徒の姓/名字)が2行あります。 私はその下にこのコードを使用する場合、Webページ上でこれを示しSqlの重複行タイトル。

SubjectID: 1 
    Subject name: English 
    Teacher First Name: TeachFirst1 
    Teacher Last Name: TeachLast1 
    Class List 
    Student First Name: TeachFirst1 
    Student Last Name: TeachLast1 

どのように私は最後の2行は、学生の最初/最後の名前を印刷するように指定することができますか?教師ではない。なぜ私はその教師を印刷知っている。私はちょうど、しばらく

`teachers`.`FirstName` AS t_FirstName, `teachers`.`LastName` AS t_LastName 

"<b>".'Student First Name: '."</b>".$row["t_FirstName"]. "<br/>"から
"<b>".'Student First Name: '."</b>".$row["FirstName"]. "<br/>" 

を変更し、それがあなたのクエリ教師または生徒の名前を変更するには、エイリアスを使用して

<?php  
$sql2 = 'SELECT `students`.`FirstName`, `students`.`LastName`, `subjects`.`SubjectName`, `subjects`.`SubjectNo`, `teachers`.`FirstName`, `teachers`.`LastName` 
        FROM `students` 
        INNER JOIN `timetable` ON `students`.`StudentID`=`timetable`.`StudentID` 
        INNER JOIN `subjects` ON `timetable`.`Subject`=`subjects`.`SubjectNo` 
        INNER JOIN `teachers` ON `subjects`.`TeacherID`=`teachers`.`TeacherID` 
        WHERE `timetable`.`subject`="1"'; 

      $results2 = $conn->query($sql2); 
      if($results2->num_rows > 0){ 
       while ($row=$results2->fetch_assoc()) { 
        echo "<br/>". 
        "<b>"."SubjectID: "."</b>".$row["SubjectNo"]. "<br/>". 
        "<b>"."Subject name: "."</b>".$row["SubjectName"]. "<br/>". 
        "<b>"."Teacher First Name: "."</b>".$row["FirstName"]. "<br/>". 
        "<b>"."Teacher Last Name: "."</b>".$row["LastName"]. "<br/>". 
        "<b>"."Class List"."</b>"."<br/>". 
        "<b>".'Student First Name: '."</b>".$row["FirstName"]. "<br/>". 
        "<b>".'Student Last Name: '."</b>".$row["LastName"]. "<br/>" 
        ; 
       } 
      } 
     ?> 
+0

まず 'print_r'や' $ arrResult = $ results2-> fetchAllの(の 'var_dump')を行う;' 'その後のvar_dump ($ arrResult) 'となります。これを行うことで、あなたの問題を解決する手がかりが得られます。 –

+0

https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-クエリ – Strawberry

答えて

0

を指定することにしたいですたとえば、

1

次のように変更して列の名前を変更します。

SELECT `students`.`FirstName` as studentFirstName, 
     `students`.`LastName` as studentLastName, 
     `subjects`.`SubjectName`, 
     `subjects`.`SubjectNo`, 
     `teachers`.`FirstName` as teacherFirstName, 
     `teachers`.`LastName` as teacherLastName 
.... 

そして、あなたのPHPコードの使用に割り当てられた名前:

"<b>"."Teacher First Name: "."</b>".$row["teacherFirstName"]. "<br/>". 
"<b>"."Teacher Last Name: "."</b>".$row["teacherLastName"]. "<br/>". 
"<b>".'Student First Name: '."</b>".$row["studentFirstName"]. "<br/>". 
"<b>".'Student Last Name: '."</b>".$row["studentLastName"]. "<br/>"