2017-08-25 71 views
-1

我遇到了麻烦,我的PHP,你可以看到,我有一个数据库中的重复名称(老师的第一/姓和学生的姓/名)2行。 当我使用它下面这段代码显示了这个网页上Sql中的重复行标题。在PHP中打印

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

我怎么能指定,我想最后2行打印学生的第一/姓氏?不是老师。我知道为什么印刷老师。我只是希望它被指定

<?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

首先做'$ arrResult = $ results2->使用fetchall的'print_r'或'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

在查询中使用别名来改变教师或学生的名字

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

在同时改变

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

"<b>".'Student First Name: '."</b>".$row["t_FirstName"]. "<br/>",例如

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/>"