gpt4 book ai didi

PHP MySQL 从 2 个表中获取数据

转载 作者:可可西里 更新时间:2023-11-01 07:49:56 25 4
gpt4 key购买 nike

我正在尝试合并数据库中的 2 个表:

文件表:

    id
file_name
file_description
file_url

access_files 表:

    id
student_id
file_id

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

<?php
$SQL = "SELECT * FROM files, access_files WHERE student_id ='$studentid'";
$result = mysql_query($SQL);

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

<div class="accordion-group">
<div class="accordion-heading">
<a href="#<?php print $db_field['file_id']; ?>" data-parent="#accordion" data-toggle="collapse" class="accordion-toggle collapsed">
<?php print $db_field['file_name']; ?>
</a>
</div>
<div class="accordion-body collapse in" id="<?php print $db_field['file_id']; ?>">
<div class="accordion-inner">
<?php print $db_field['file_description']; ?><br/><br/>
<a href="?download=<?php print $db_field['file_url']; ?>" class="more">Download File Now!</a>
<br/><br/>
</div>
</div>
</div>
<?php } ?>

代码应该只显示与用户关联的文件。

最佳答案

您需要做的是加入表格。

最常见的 JOIN 类型:

  1. INNER JOIN - 用于匹配可以匹配 ON () 语句的数据。如果 ON() 不匹配,结果将被排除。
  2. 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 从 2 个表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12297324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com