PHP& mysql显示来自多个表的数据

时间:2016-05-11 06:17:31

标签: php mysql

我有两个表包含如下所述的数据:

Table1

TID     Name
 1      Salman 
 2      ABC 
 3      XYZ

表2

SID     STID   SUBJECT
 1       1      English
 2       1      Math
 3       2      Physics
 4       2      Math

表1表2 STID中的TID外键。我想从两个表中收集数据并在PHP中显示,如下所述:

Name        Subject1    Subject2
Salman      English     Math
ABC         Physic      Math

2 个答案:

答案 0 :(得分:0)

有我的建议算法

$mysqli = new mysqli("HOST", "USER NAME", "USER PASS", "YOUR DATABASE");
$result = $mysqli->query("SELECT * FROM table1");
while ($row = $result->fetch_assoc()){
$TID = $row['TID'];
$Name = $row['Name'];
$result2 = $mysqli->query("SELECT * FROM table2 where `TTID` = $TID");
echo "$Name \t";
while ($row2 = $result2->fetch_assoc()){
$SUBJECT = $row2['SUBJECT'];
echo "$SUBJECT \t";
}
echo '<br/>';
}
$mysqli->close();

答案 1 :(得分:0)

如果您知道可以分配给学生的最大科目数,

请检查此查询

SELECT A.Name  , 
(SELECT subject from Table2 where STID = A.TID limit 0,1 ) as SUBJECT1,
(SELECT subject from Table2 where STID = A.TID limit 1,1 ) as SUBJECT2
FROM  Table1 A