php mysql 获取数据,PHP MySQL从2个表中获取数据

本文介绍了如何使用SQL的INNER JOIN或LEFT JOIN来组合数据库中的files和access_files表,以便根据学生ID显示用户所选的文件。示例代码展示了如何通过调整查询以确保只显示与用户关联的文件。
摘要由CSDN通过智能技术生成

我想从我的数据库中组合2个表:

文件表:

id

file_name

file_description

file_url

access_files表:

id

student_id

file_id

这是我的sql代码,目前从files表中获取所有文件,它不会显示用户选择的文件.

$SQL = "SELECT * FROM files, access_files WHERE student_id ='$studentid'";

$result = mysql_query($SQL);

while ($db_field = mysql_fetch_assoc($result)) {

?>

该代码假设仅显示与用户关联的文件.

解决方法:

你需要做的是加入表格.

最常见的JOIN类型:

> INNER JOIN – 用于匹配可与ON()语句匹配的数据.如果ON()不匹配,将排除结果.

> LEFT JOIN – 如果您在ON()中匹配的数据不必在那里,则使用.它只是将数据附加到原始FROM,如果没有数据匹配则填充NULL.

SELECT

ft.id,

ft.file_name,

ft.file_description,

ft.file_url,

af.id as access_id,

af.student_id,

af.file_id

FROM

files ft

INNER JOIN access_files af ON ( ft.id = af.file_id )

WHERE

fa.student_id = '$studentid'

标签:php,mysql

来源: https://codeday.me/bug/20190725/1537503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值