我想生成一个新页面,有人可以发表评论

时间:2016-04-03 03:24:36

标签: php

我想生成一个新页面,有人可以发表评论并查看他们点击的帖子,我现在将我的数据库循环播放并回显到屏幕上,它们是可点击的我只是不知道怎么做到这一点使用他们点击的帖子生成自己的页面。

else{
        $postquery = "SELECT `users`.`username`,`posts`.`text`,`posts`.`date`,`posts`.`title` FROM `users` INNER JOIN `posts` ON `users`.`user_id` = `posts`.`user_id` ORDER BY `posts`.`post_id` DESC";
        $post = mysqli_query($dbc,$postquery);
        if(mysqli_num_rows($post) > 0) {
            foreach($post as $row) {
?>
    <!-- Main Content -->
    <div class="container">
        <div class="row">
           <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
                <div class="post-preview">
                    <a href="post.html">
                        <h2 class="post-title">
                        <!-- TITLE OF POST -->
                           <?php echo $row["title"];?>
                        </h2>
                        <h3 class="post-subtitle">
                        <!-- CONTENT OF POST -->
                           <?php echo $row['text']; ?>
                        </h3>
                    </a>
                    <p class="post-meta">Posted by <?php echo $row['username'];?></a><?php echo " On " . $row['date'];?></p>
                </div>
<?php           
            }   
        }
    }

这将输出如下内容: 标题:发布 内容:Blablalala 发布者:用户2016-04-02

我想做的就是这样,我可以点击“标题”作为超链接,并转到另一个页面,在那里我只看到该帖子,并能够对其进行评论。我听说使用“GET”作为一种方法,但目前我不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

您只需添加<a href=""></a>并链接到其他页面即可。

<h2 class="post-title">
       <!-- TITLE OF POST -->
       <a href="anotherpage.php?title=<?php echo $row["title"];?>">
          <?php echo $row["title"];?>
       </a>
 </h2>

但更好的选择是使用post_id链接到帖子详细信息:

<h2 class="post-title">
       <!-- TITLE OF POST -->
       <a href="anotherpage.php?id=<?php echo $row["post_id"];?>">
          <?php echo $row["title"];?>
       </a>
 </h2>

从anotherpage.php你可以通过id得到它并进行查询:

$id = $_GET['id'];
$singlepost = "SELECT * FROM `users` WHERE post_id='$id'";
$result = mysqli_query($dbc, $singlepost);
$row = mysqli_fetch_assoc($result);

然后您可以正常输出:

echo $row['title'];
echo $row['text']
echo $row['username'];

并将您的评论如下所示:

<form method="post">
    <label>Have your say</label>
    <textarea rows="2" cols="5" name="comment"></textarea>
    <input type="hidden" name="postid" value="<?php echo $row['post_id']">
    <input type="submit" name="submit" value="comment">
</form>

您可以检查是否有评论并更新相同内容:

if(isset($_POST['submit'])){
      $comment = isset($_POST['comment'])? $_POST['comment']:'';
      $id = $_POST['id];
      if(empty($comment)){
        $error = "Comment field is blank";
      }else{
         mysqli_query($dbc, "INSERT INTO comment (comment, post_id)
                             VALUES ('$comment', '$id')");
       }
     }

发布评论时检查是否有错误。

 if(!empty($error)){
    echo $error;
   }