2016-04-03 3 views
-1

誰かがコメントを投稿してクリックした投稿を見ることができる新しいページを生成したいのですが、現在データベースがループしていて、私はちょうどそれを作る方法をクリックしたポストで独自のページを生成するか分からない。誰かがコメントできる新しいページを生成したい

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

次のようにこの意志の出力何か: タイトル:ポスト 内容:2016年4月2日

そして、何私がやりたいことはそれを私ができるようにすることです上のユーザ:Blablalala は投稿者ハイパーリンクとして「タイトル」をクリックして、その投稿のみを表示してコメントを付けることができる別のページに誘導されます。私は方法として "GET"を使用して聞いたが、現在私はどこから始めるべきかわからない。

答えて

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> 

そして、あなたはidでそれを取得し、クエリを作るanotherpage.phpから:

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

あなたはコメントがあるかどうかをチェックし、同じように更新することができます。コメントを投稿中にエラーが発生したwhther

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; 
    } 
関連する問題