2016-12-03 97 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