Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: cmp_function

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: помогите составить cmp
hungel
Отправлено: 06 Февраля, 2013 - 11:56:10
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Авг. 2012  


Помог: 0 раз(а)




Доброго времени суток.

Есть таблица с комментариями, в которой есть id, parent_id, child_id и level
Возникла задача вывести комментарии в виде дерева. Рекурсивную выборку из БД по понятным причинам использовать не хочу. Возникла мысль рекурсивно отсортировать массив с уже выбранными в него комментариями. массив выглядит так:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => Array
  4.         (
  5.             [id] => 1
  6.             [i] => 0
  7.             [parent_id] => 0
  8.             [child_id] => 2
  9.             [level] => 0
  10.             [comment_message] =>
  11. Тест древовидных комментов 1
  12.         )
  13.  
  14.     [1] => Array
  15.         (
  16.             [id] => 2
  17.             [i] => 1
  18.             [parent_id] => 1
  19.             [child_id] => 0
  20.             [level] => 1
  21.             [comment_message] =>
  22. Тест древовидных комментов 2
  23.         )
  24.  
  25.     [2] => Array
  26.         (
  27.             [id] => 3
  28.             [i] => 2
  29.             [parent_id] => 0
  30.             [child_id] => 6
  31.             [level] => 0
  32.             [comment_message] =>
  33. Тест древовидных комментов 3
  34.         )
  35. )
  36.  


Нужно отсортировать массив так, чтобы элементы приняли правильный порядок, для смещения комментария в дереве, я использую level это можно опустить. По умолчанию масив сортируется как есть, то есть в той последовательности в которой запись добавлялась в БД. Понятно, что ответ может быть добавлен когда угодно и окажется в конце. Для сортировки массива как мне кажется больше всего подходит uasort , но я не могу составить cmp функцию для сортировки.

Если нужно что-то уточнить говорите. Возможно забыл чего.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB