如何在相应的文章下显示评论

时间:2012-05-06 04:45:01

标签: php mysql comments

请为我的脚本提供帮助。我有一个网站,其中一些内容标题放入存档框,以便在单击标题时显示内容。我的问题是关于每页上的评论。

通常我使用GET传递页面ID,因此如果未设置GET,则表示显示的文章是当前文章,并且它的id将手动传递给WHERE查询。

问题是用户在旧档案文章上留下的评论不会显示在各自的文章页面上,而是显示在我手动传递ID的文章上。  我该如何解决这个问题

以下是我正在努力工作的一些代码。

感谢您的时间和耐心。

                   $page_name = 'about'; 
                    $id = "";
                    if (isset($_GET['id'])) {
                    $id = $_GET['id'];
  //display content based on the header       clicked
  } else {
  //display content of the current article       based on the id. I pass the numeric id              of the current article into the where       clause that selects the content
   //it displays
  }




 $query6 = mysql_query(" SELECT c.body          FROM comment AS c  
     INNER JOIN about AS a ON
     c.article_id = a.about_id
     WHERE   c.article_id =  3
     AND page_name = '".$page_name."'")

评论表

 CREATE TABLE IF NOT EXISTS`comment`(
     `comment_id` int(255),
     `article_id` int(255),
     `username` varchar(255) ,
     `page_name` 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,

旧文章的网址

http://localhost/root/about.php?id=3

虽然当前文章的网址是

 http://localhost/root/about.php

因此现在是当前文章doenst传递任何动态id。   如果我在查询中执行“。$ id。”,并且我点击当前文章,则不会显示任何内容。

1 个答案:

答案 0 :(得分:0)

 WHERE   c.article_id =  3

应该是

 WHERE   c.article_id =  $id

虽然注意,它会容易受到SQL注入攻击。您应该使用预准备语句,将变量作为未针对SQL进行求值的参数传递到该语句中。如果您不知道我在说什么,或者如何解决它,请阅读Bobby Tables的故事。