Я работаю теперь с системой комментариев, и я достиг некоторых проблем. Я делаю иерархическую систему комментариев, как это:Как построить иерархическое дерево комментариев?
comment1
--comment2
---- comment4
comment3
--comment5
Я использую сделать этот запрос:
$sql = "SELECT id, parent_id, name, comment,
DATE_FORMAT(add_date, '%d %M %Y %H:%i') as add_date
FROM comments ORDER BY id DESC";
И затем использовать эту функцию:
function mapTree($dataset) { $tree = array(); foreach ($dataset as $id=>&$node) { if (!$node['parent_id']) { $tree[$id] = &$node; } else { $dataset[$node['parent_id']]['childs'][$id] = &$node; } } return $tree; }
, но если я хочу, чтобы ограничить количество комментариев к 3 или 5 или ETH. Я не дерево больше:
пример:
SELECT id, parent_id, name, comment, DATE_FORMAT(add_date, '%d %M %Y %H:%i') as add_date FROM comments LIMIT 2
comment1
--comment2
Я теряю комментарии, которые имеют родительский идентификатор.
Может ли помочь мне решить проблему или показать другой способ создания сценария дерева комментариев?
Я предложил бы материализовался путем –
** Для стороны MySQL: ** Я уверен, что вы найдете эту статью очень полезно: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/. Это подробно объясняется здесь. ** Для PHP-стороны: ** http://stackoverflow.com/questions/11404949/how-to-build-a-tree-in-php-having-id-parent-id-and-depth-variables –
Я был thnking об этом методе, но интересно попробовать другой способ организовать работу дерева. – myrko