За последние 24 часа нас посетили 20110 программистов и 1083 робота. Сейчас ищут 694 программиста ...

Удаление комментариев рекурсией

Тема в разделе "JavaScript и AJAX", создана пользователем wade003, 21 апр 2019.

  1. wade003

    wade003 Новичок

    С нами с:
    13 мар 2019
    Сообщения:
    30
    Симпатии:
    1
    Здравствуйте! Помогите решить задачу с рекурсией. Нужно было сделать так чтобы при удалении родительского коммента удалялись все дочерние комментарии. С БД все комменты удаляются корректно но с визуальной частью у меня не получается. Визуально удаляется только родительский коммент а все дочерние остаются
    Код (Javascript):
    1. <script type="text/javascript">
    2.     $(document).ready(function () {
    3.         deleteComment()
    4.     });
    5. </script>
    6. <script type="text/javascript">
    7.     function deleteComment() {
    8.         $('a.bbp-forum-delete-topic').click(function (e) {
    9.             e.preventDefault();
    10.             var parent = $(this).parent();
    11.             var id = $(this).attr("id");
    12.             let isConfirmed = confirm('Are you sure you want to delete this comment?');
    13.             if (isConfirmed) {
    14.                 $.ajax({
    15.                     type: 'POST',
    16.                     url: '?action=delete-comment',
    17.                     data: {id: id},
    18.                     beforeSend: function () {
    19.                         parent.animate({'backgroundColor': '#fb6c6c'}, 300);
    20.                     },
    21.                     success: function () {
    22.                         parent.slideUp(300, function () {
    23.                             parent.remove();
    24.                         });
    25.                     }
    26.                 });
    27.             }
    28.         });
    29.     }
    30. </script>
    PHP:
    1. public static function tree($row)
    2. {
    3.     $user = User::checkLogged();
    4.     echo "<div id='comments' class='container sitecontainer single-wrapper bgw'>
    5.            <div class='authorbox'>
    6.                <div class='row'>
    7.                    <div class='col-sm-12 col-md-12'>
    8.                        <div class='post clearfix'>
    9.                            <div class='avatar-author'>
    10.                                <img alt='' src='/template/upload/avatar_02.png' class='img-responsive'>
    11.                            </div>
    12.                            <div class='author-title desc'>";
    13.     echo "<div class='author'>Author: " . $row['author'] . "</div>";
    14.     echo "<div class='email'>Email: " . $row['email'] . "</div><br>";
    15.     echo "<div class='text'>" . $row['text'] . "</div><br>";
    16.     echo "<div class='date'>Date: " . $row['date'] . "</div>";
    17.     echo "<a href='#comment_from' class='reply' topic_id='" . $row['topic_id'] . "' id='" . $row['id'] . "''>Answer</a>";
    18.     echo "</div><!-- author-title desc -->";
    19.     if ($user['admin'] == 1) {
    20.         echo "<a href='' class='bbp-forum-delete-topic' id='{$row['id']}'>Delete</a>";
    21.     }
    22.     echo "             </div><!-- end post clearfix -->
    23.                    </div><!-- end col -->
    24.                </div><!-- end row -->
    25.            </div><!-- end authorbox -->
    26.        </div><!-- end container -->";
    27.     echo "<ul>";
    28.     $child = array();
    29.     $child = Comment::getChildComment($row);
    30.     foreach ($child as $res) {
    31.         self::tree($res);
    32.     }
    33.     echo "</ul>";
    34.  
    35. }
     
  2. wade003

    wade003 Новичок

    С нами с:
    13 мар 2019
    Сообщения:
    30
    Симпатии:
    1
    Уже решил вопрос
    PHP:
    1. public static function tree($row)
    2. {
    3.     $user = User::checkLogged();
    4.     $delete = '';
    5.     if ($user['admin'] == 1) {
    6.         $delete = "<a href='' class='bbp-forum-delete-topic' id='{$row['id']}'>Delete</a>";
    7.     }
    8.     echo "<div class='comments'><div class='container sitecontainer single-wrapper bgw'>
    9.            <div class='authorbox'>
    10.               <div class='row'>
    11.                  <div class='col-sm-12 col-md-12'>
    12.                     <div class='post clearfix'>
    13.                        <div class='avatar-author'>
    14.                           <img alt='' src='/template/upload/avatar_02.png' class='img-responsive'>
    15.                        </div>
    16.                        <div class='author-title desc'>
    17.                            <div class='author'>Author: " . $row['author'] . "</div>
    18.                            <div class='email'>Email: " . $row['email'] . "</div><br>
    19.                            <div class='text'>" . $row['text'] . "</div><br>
    20.                            <div class='date'>Date: " . $row['date'] . "</div>
    21.                            <a href='#comment_from' class='reply' topic_id='" . $row['topic_id'] . "' id='" . $row['id'] . "''>Answer</a>
    22.                        </div><!-- author-title desc -->
    23.                     </div><!-- end post clearfix -->
    24.                  </div><!-- end col -->
    25.               </div><!-- end row -->
    26.            </div><!-- end authorbox -->
    27.         </div><!-- end container -->". $delete;
    28.     echo "<ul>";
    29.     $child = array();
    30.     $child = Comment::getChildComment($row);
    31.     foreach ($child as $res) {
    32.         self::tree($res);
    33.     }
    34.     echo "</ul>";
    35.     echo "</div><!-- end comments -->";
    36.  
    37. }