2012-05-04 12 views
0

私のスクリプトであなたの助けが必要です、私はそれぞれのページに特定の記事のすべてのコメントを取り込もうとしています。それぞれの記事の下にコメントを表示する際の問題

コメントは、私がコメントしていない記事でさえ、すべての記事にコメントテーブルのすべてのコメントを表示しているという点で、異常に表示されています。

ホームページページに関する

 $query = mysql_query(" SELECT 
    c.username , c.comment_body, 
    c.comment_date 
    FROM comment AS c 
    INNER JOIN home AS h ON 
    c.article_id = h.home_id") 
    or die (mysql_error()); 

 $query6 = mysql_query(" SELECT 
    c.username , c.comment_body, 
    c.comment_date 
    FROM comment AS c 
    INNER JOIN about AS as ON 
    c.article_id = as.about_id") 
    or die (mysql_error()); 

コメントテーブル

CREATE TABLE IF NOT EXISTS`comment`(
    `comment_id` int(255), 
    `article_id` int(255), 
    `username` varchar(255) , 
    `comment_body` varchar(300), 
    `comment_date` datetime, 
    PRIMARY KEY (`comment_id`) 

表について

CREATE TABLE IF NOT EXISTS `about` (
    `about_id` int(255), 
    `about_head` varchar(255) 
    `about_content` varchar(4000), 
    `about_tags` varchar(255) , 
    `about_created` datetime, 



    **Homepage Table** 

    CREATE TABLE IF NOT EXISTS `home` (
    `home_id` int(255), 
    `home_head` varchar(255) 
    `home_content` varchar(4000), 
    `home_tags` varchar(255) , 
    `home_created` datetime, 

私が間違っているつもりだところ誰も見ていますか?

+0

私はDB構造を取得していません。 「記事」はどこに保管していますか?各ページの表があるようですか? – bfavaretto

+0

各記事は対応するページテーブルに格納されます。 aboutページの記事はaboutテーブルの中に格納され、about.phpに表示されます。 –

+0

テーブルの構造に関して、私はセクションのための余分な列を持っていたので、あなたは同じテーブルのすべての記事を持っていました。 – bfavaretto

答えて

0

あなたは現在あなたが現在いる記事をSQLに伝えていないので、それらをすべてフェッチしています。

SELECT 
    c.username, 
    c.comment_body, 
    c.comment_date 
FROM comment AS c 
    INNER JOIN about AS a ON 
    c.article_id = a.about_id 
WHERE a.about_id = ? 

現在のページの実際のIDと疑問符を交換して:あなたは、この(「約」のための一例)のように、クエリの末尾にWHERE句を必要としています。 PDOを使用している場合は、executeと電話で連絡してください。

0

"about page"にはWHERE句が指定されておらず、結果だけをフィルタリングします。

SELECT 
c.username , c.comment_body, 
c.comment_date 
FROM comment AS c 
INNER JOIN about AS as ON 
c.article_id = as.about_id 
WHERE c.article_id = 123; 
関連する問題