如何从PHP SQL中的多个表中获取数据?

时间:2015-08-03 23:59:39

标签: php sql select twitter-bootstrap-3 html-table

我正在使用bootstrap,PHP& amp; MySQL的。我刚开始用PHP编写代码,所以我对它并不熟悉。

我需要从表 student_info 中选择所有数据,并在快照中通过student_id选择表 profile_img 中的image_name,如下所示:

Student Dashboard

<小时/> 我使用了以下 SELECT SQL查询来获取上表中的记录,并在下面的代码中包含了配置文件图像:

<table class="table table-striped table-bordered table-hover" id="dataTables-view">
<thead>
<tr>
<th>ID</th>
<th>Scholar Number</th>
<th>Photo</th>
<th>Student Name</th>
<th>Class</th>
<th>Fee Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
$sql = mysql_query("SELECT * FROM student_info ORDER BY 
student_roll_number LIMIT 500"); //Retrive data from table student_info
$sql2 = "SELECT * FROM profile_img WHERE student_id = '$id' ORDER BY 
student_id DESC LIMIT 1"; //Retrive data from table profile_img 
while($row = mysql_fetch_array($sql)){      
$id = $row["student_id"];
$rollnumber = $row["student_roll_number"];    
$fname = $row["student_fname"];
$lname = $row["student_lname"];
$class = $row["student_class"];
$image-name = $row["image_name"]; //Retrive data from table two
echo '
<tr>
<td> '.$id.'</td>
<td> '.$rollnumber.'</td>
<td class="text-center">
<img src="upload/profile_pic/'.$image-name.'.jpg" 
style="width:40px;height:30px;"></td>
<td> '.$fname.' '.$lname.'</td>
<td><i class="icon-group"></i> '.$class.'</td>
<td><center>Pending</center></td>
</tr>'
;}
</tbody>
</table> 

我想从 student_info 表格中选择所有信息,并且只想从表格 profile_img 表格中选择图片名称,并在一个表格中显示,如下图所示。

Student Dashboard

任何人都可以帮助我吗? 以下是两个表截图:

  

student_info

enter image description here

  

profile_img

enter image description here

当我使用以下代码时,出现错误后出现错误:

        $sql = mysql_query("SELECT student_info.scholar_number, 
        student_info.student_name, 
        student_info.class, 
        student_info.fee_status, 
        profile_img.image_name
        FROM        student_info
        INNER JOIN profile_img 
        ON          profile_img.student_id = student_info.student_id;");

enter image description here

1 个答案:

答案 0 :(得分:0)

查看您的架构是有用的,但正如ArtisticPhoenix所提到的,您想要使用INNER JOIN来连接公共字段上的两个表,例如。

SELECT      student_info.scholar_number, 
            student_info.student_name, 
            student_info.class, 
            student_info.fee_status, 
            profile_img.image_name
FROM        student_info
INNER JOIN profile_img 
ON          profile_img.student_id = student_info.student_id;