我想从我的数据库中组合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