回复评论系统

时间:2014-04-11 20:27:46

标签: php mysql comments review reply

Hello Everyone我是php的新手,正在做一个项目。我的问题是我正在审查页面并使用while循环从3个表中获取数据。

问题是我想创建评论回复系统。我在循环中使用文本区域进行注释,并在按钮单击时显示文本区域,但是当我单击按钮时,每个文本区域都可见,这是我不想要的。我认为问题是由于while循环。 请建议我一个正确的想法。 提前谢谢你。

Php part:

<div class="feedback-list">

                                                                                <!--img class="doc-img"src="img/doc-img.png" alt="tempimg"   height="100"                 width="100"/>
    <div class="feedback-header"-->              
          <?php
            while($row1=mysql_fetch_array($result1))
             {
                $username1=$row1['username'];
                $rtitle=$row1['reviewtitle'];
                 $rexperience=$row1['experience'];

                                 echo '<div  class="feedback"><img class="doc-img" src="img/doc-img.png" alt="temp img" height="100" width="100"/><div class="feedback-header">Rivew by <a href="#"> '.$username1.'</a>
                                <span class="stars" id="star1"><img src="img/stars.png"/></span>
                            </div>
                            <p> '.$rtitle.'</p><br/>
                            <p> '.$rexperience.'</p>



                                                                        <form action="submitcomment.php"  method="post" name="frms">
            <!--button type="submit" onclick="showCommentBox()">Reply</button><br/-->
          <input type="button" value="Reply" onclick="showCommentBox('.$row1['reviewid'].')"><br/>
          <div class="hidden" id="comment">
            <!--p>Comments and suggestions:<br><textarea name="comments" rows="3" cols="30" ></textarea><br><br>
              <input type="submit" name="sub" value="Confirm"></p-->
            </div>
            </form>



                            <span class="read-more">Read      More</span>
                            <span class="added-by">added on 25 March</span>
                        </div>';}?>

脚本:

 <script type="text/javascript">
         function showCommentBox(x){
          //alert(x);
         var div=document.getElementById('comment');

         div.className='visible';

         document.getElementById("comment").innerHTML =
   '<br/><textarea maxlength="5000" cols="30" rows="3" name="comments"></textarea>' + 
   '<input type="submit" name="sub" value="Confirm">';
          }
    </script>

1 个答案:

答案 0 :(得分:0)

您的评论框的

所有具有相同的DOM ID:

  <div class="hidden" id="comment">
                      ^^^^^^^^^^^^

这是不允许的。 ID必须在整个页面中唯一。因此,getElementById()只返回一个匹配的元素,它通常是它找到的第一个匹配元素 - 继续搜索只有一个可以存在的东西没有意义,对吗?

你可能想要更像

的东西
 <div class="hidden" id="comment{$id}">

 <button onclick="showComment($id);" >



 function showComment(id) {
     foo = document.getElementById('comment' + id);
 }