@alex_p95
Учусь

Формирование древовидных комментариев?

Друзья, здравствуйте! 2-й день, мучаюсь, не получается создать древовидные комментарии. Подскажите, пожалуйста, как их можно создать? У меня получаются только с уровнем вложенности 2... А как сделать,например, как на пикабу? Всем большое спасибо!
1e0e2cd7f87c4cdeb4794e29db3d9f5c.png

Прикладываю код...

Код формирования комментариев:

public function get_comments($id_article) {
        $query = "SELECT c.id_comment, c.author, c.parent_id, c.text, c.article, DATE_FORMAT(c.date, '%d %M %Y %H:%i') as date, u.login FROM comments c INNER JOIN users u ON c.author = u.id_user  WHERE article = '$id_article'";
        $res = $this->ins_driver_user->sql_select($query);

        $arr = array();

        foreach($res as $item) {
            if($item['parent_id']==NULL) {
                //parent
                $arr[$item['id_comment']] = $item;

            }
            else {
                //child
                //обращаемся к родительской ветке и создаем там ячейку массива в которой будут хранится данные о потомках
                $arr[$item['parent_id']]['child'][$item['id_comment']] = $item;

            }
        }

        return $arr;
    }


Код метода sql_select :

public function sql_select($query){
        $result = $this->db->query($query);

        if($result->num_rows == 0) {
            return FALSE;
        }
            for($i = 0; $i < $result->num_rows; $i++) {
                $row[] = $result->fetch_assoc();
            }

        return $row;
    }


Помогите,пожалуйста. Большое всем спасибо!!!
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы