php - 显示多列 Mysql

标签 php mysql

我目前正在尝试显示成员已上传到我的网站的论文,用户点击一个主题并显示该主题下的论文。但是,我的查询只显示了所有论文,而不是特定主题的论文。

//time to get our info
//time to get our info
$sql = "SELECT paper.title, paper.username, paper.abstract, paper.filelocation FROM `paper`, `topic` WHERE topic_name = 'artificial intelligence' ";
$result = mysql_query($sql);
while($file = mysql_fetch_array($result)){
    echo '<li>';
    echo '<h1>'.$file['title'].'</h1><br />';
    //now the file info and link
    echo '<h3>Uploaded By: '.$file['username'].'</h3><br />';
    echo '<a href="'.$file['filelocation'].'">'.$file['title'].'</a>';
    echo '<h1> Abstract : ' .$file['abstract'].'</h1><br />';
    echo '</li>';
}
?>
</ul

这是我的表格 助理

论文编号 topic_id

主题

主题编号 主题__名称

论文编号 标题 用户名 抽象的 文件位置

最佳答案

您需要将两个表与链接它们的关键条件连接在一起:

SELECT
    paper.title,
    paper.username,
    paper.abstract,
    paper.filelocation
FROM `paper`
INNER JOIN `topic` on `paper`.`topic_id` = `topic`.`topic_id`
WHERE topic_name = 'artificial intelligence'

否则,您将交叉连接两个表,这会为您提供两个表之间的所有可能组合。

关于php - 显示多列 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10075476/

相关文章:

php - 如何将 IN 子句与 mysqli 准备好的语句一起使用

PHP 代码点火器 : Passing dynamic form data to a view without having to refetch from the database upon validation errors

mysql - 在 mysql 中,如何找到 id 未在表中任何其他行中引用的行?

php - CodeIgniter 水印

php - 为按钮提供一个类并使用 javascript 来获取单击事件不起作用

iphone - Objective-C 中的 MySQL 命令

mysql - 如何选择一系列行但将其从特定 ID 偏移

php - MySQL:旧版本 JSON 的替代方案/在一列中存储和查询多个值

php - 显示用户详细信息而不保存上一个 session

php - 使用 php 或 javascript 更改网站 url?