1

現在、メンバーが自分のWebサイトにアップロードした論文を表示しようとしています。ユーザーがトピックをクリックすると、そのトピックの下にある論文が表示されます。ただし、私のクエリでは、特定のトピックに関する論文ではなく、すべての論文が表示されます。

//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

これが私のテーブルアソです

paper_id topic_id

トピック

topic_id topic__name

論文

paper_id title username abstract filelocation

4

1 に答える 1

5

2つのテーブルを、それらをリンクする主要な条件で結合する必要があります。

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'

それ以外の場合は、両方のテーブルを相互結合します。これにより、2つのテーブル間のすべての可能な組み合わせが得られます。

于 2012-04-09T15:25:30.400 に答える