Друзья, здравствуйте! 2-й день, мучаюсь, не получается создать древовидные комментарии. Подскажите, пожалуйста, как их можно создать? У меня получаются только с уровнем вложенности 2... А как сделать,например, как на пикабу? Всем большое спасибо!
Прикладываю код...
Код формирования комментариев:
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;
}
Помогите,пожалуйста. Большое всем спасибо!!!