2016-12-03 71 views
1
大家

喜在PHP的即时通讯新,所以这里是我的代码我有很多展示的php一对多的关系IM做一个学生信息系统显示PHP多对多的关系

这里麻烦的是我的数据库

学生
student_id数据

地址
当然

主题
subject_id
SUBJECT_NAME
subject_code

student_subject
subject_id
student_id数据

这里是我的查询

$sql = "SELECT subject_name 
     FROM subject 
      LEFT JOIN student_subject ON (student.student_id = 'student_id') 
        LEFT JOIN subject ON (subject.subject_id = 'subject_id')"; 

$records = mysql_query($sql); 

,现在这是我的代码,以显示它,请帮助我如何显示这个例子,我仅仅只想要显示的主题名称和主题代码

while($student=mysql_fetch_array($records)){ 

     echo $student['subject_name']; 
     echo $student['subject_code']; 
} 

这只是样品,因为这仅仅是我想做的显示请帮助我感谢抱歉我的坏英语。着搜索任何事情显示许多在谷歌一对多的关系,我可以看到一些查询,但我不能搜索一下我尝试了许多代码,但我始终没太感谢你了

所需的输出:

主题名称--- | ---科目代码
ICT ___________ || _________ IT 101
代数_______ || _________ MATH101

删除你的视野下划线不能固定输出新在这里计算器

+0

如果你想显示每名学生主体,需要通过student_id数据从student_select发现来选择,你需要选择SUBJECT_NAME。 – migueref

+0

请让我们知道您想要展示什么? –

+0

请添加一个所需输出的例子 – Blag

回答

0
<?php 

$con = mysql_connect("localhost", "root", "") or die('There is an error to connect DB' . mysql_error()); 

mysql_select_db('test') or die ('Unable to select DB' . mysql_error()); 

$query = 'SELECT ST.student_id, ST.name, ST.address, SB.subject_name, SB.subject_code FROM student ST, subject SB, `student_subject` STSB WHERE STSB.student_id=ST.student_id AND STSB.subject_id=SB.subject_id'; 

$query = mysql_query($query) or die('Unable to execute query' . mysql_error()); 

if ($query) { 
    $str = ''; 
    $header = '<tr><td>Student ID</td><td>Name</td><td>Address</td><td>Subject</td><td>Subject Code</td></tr>'; 
    while ($row = mysql_fetch_array($query)) { 
     $str .= '<tr>'; 
     $student_id = $row['student_id']; 
     $name = $row['name']; 
     $address = $row['address']; 
     $subject = $row['subject_name']; 
     $subject_code = $row['subject_code']; 

     $str .= '<td>' . $student_id . '</td>'; 
     $str .= '<td>' . $name . '</td>'; 
     $str .= '<td>' . $address . '</td>'; 
     $str .= '<td>' . $subject . '</td>'; 
     $str .= '<td>' . $subject_code . '</td>'; 
     $str .= '</tr>'; 
    } 
    if ($str) { 
     $table = '<table border="1">' . $header  . $str . '</table>'; 
    } else { 
     $tdata = '<tr><td colspan="5">No data found</td></tr>'; 
     $table = '<table border="1">' . $header . $tdata . '</table>'; 
    } 
    echo $table; 
} 

输出将是这样的:

enter image description here

+0

非常感谢你:)你在哪里得到ST的查询? – ronpa14

+0

是表名?或数据库名称? – ronpa14