2017-05-30 96 views
0

大家好日子,僅在while循環中附加到當前div元素

我有以下代碼結構。此代碼結構加載一個頁面,其中包含不同的帖子主題和內容。對於每個加載的帖子,用戶可以留言。看看下面的代碼:

<?php 
     $getposts = "SELECT * FROM posts"; 
     if ($result = $con->query($getposts)) { 
     while ($row1 = $result->fetch_assoc()) { 

     $id = $row1['id']; 
     $subject = $row1['sub']; 
     $content = $row1['body']; 
     $comments = $row1['comments']; 

     echo" 
      <div class='content_wrap'> 
      <div class='subject'>$subject</div> 
      <div class='content'>$content</div> 
      <div class='comment'>$comments</div> 
      </div> 
     "; 
    ?> 
    <form id='reply' autocomplete="off"> 
    <input type="hidden" value="<?php echo $id;?>" name="id" id="pid"/> 
    <input type="text" name="comment" id="comment" placeholder="Type a commmment here..."></input> 
    </form> 

    <?php 
    } 
    } 
?> 

<script type="text/javascript"> 
    $('form').submit(function() { 
      var comment = $(this).find('input[name=comment]').val(); 
      var id = $(this).find('input[name=id]').val(); 
      $.post("comments_ins.php", { pub_id: id, comment: comment});        
      $(this).parent().children('.content_wrap').append("<div 
      class='comment'" + comment + "</div");         
      var comment = $(this).find('input[name=comment]').val(''); 
      return false; 
     }); 
    </script>  

以上所有的代碼,我目前在一個頁面...和該文件是一個PHP文件類型。

請注意,根據while循環,會爲頁面上每個加載的帖子生成一個表單。上面的代碼工作大約90%正確。但有一件事我似乎並不正確。 我希望當用戶離開評論時,該評論僅顯示在該帖子的頁面上....將所有加載的帖子鎖定在頁面上。 因此,如果用戶鍵入第一條評論,則該評論是可見的,並且如果用戶對該同一帖子鍵入另一條評論,則新評論屬於之前發佈的評論....並且是可見的。每當用戶輸入評論時,它都會附加到div元素。

我該如何去做到這一點?

如果你看看我的JavaScript上面,我做了一個嘗試,但它沒有爲我工作。

指導將不勝感激。 感謝

回答

0

試着在後面加上一個ID到您的div這樣你就可以找到他們更容易

  $id = $row1['id']; 
     $subject = $row1['sub']; 
     $content = $row1['body']; 
     $comments = $row1['comments']; 

     echo" 
      <div class='content_wrap'> 
      <div class='subject' id=subject_$id>$subject</div> 
      <div class='content' id=content_$id>$content</div> 
      <div class='comment' id=comment_$id>$comments</div> 
      </div> 
     "; 

這應該讓你追加到只有你想要它的股利。

+0

嘿Trevor,謝謝你的回覆。但是,我現在如何設置JavaScript部分以使用新配置?我已經做了你對PHP的一部分已經說...我仍然不是很擅長這些東西,所以任何幫助將不勝感激。 – maraj

+0

我不是100%確定我遵循你的目標是什麼,但我認爲你只需要縮小你的jQuery選擇器。現在你可以通過id而不是按類來搜索,這將返回每個評論框。 您是否已經將頁面運行到可以查看所有代碼的地方? –

+0

我沒有一個實時頁面,但這是確切的編碼。我在javacript標記中嘗試了這一行:$(「。comment_body_ $ postid」)。append(「Test」);但那不行。該PHP與新的ID配置很好,但是要找到一種方法來使java片段捕獲每個帖子指定的php while循環中的每個postid,並將它分配給該div,只有該格式的帖子。但我在這裏的股票主力,而 – maraj