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
Форумы портала PHP.SU :: Версия для печати :: Рекурсивный вывод комментариев
Форумы портала PHP.SU » » Если скрипт не работает » Рекурсивный вывод комментариев

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

1. Zuldek - 26 Октября, 2011 - 12:37:50 - перейти к сообщению
Прошу помочь исправить ошибку из-за которой вложенные комментарии выводятся не в той последовательности.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. include("admin/config.php");
  4.       //получаем массив-дерево тегов
  5.       $res = mysql_query("select comments_id,comments_parent,comments_text from comments order by comments_id, comments_parent ASC") or die ("ошибка ".mysql_error());
  6.               while ($line = mysql_fetch_assoc($res)) {
  7.                       $tags[ (int) $line['comments_parent'] ][] = array( (int) $line['comments_id'], $line['comments_text']);
  8.               }
  9.                           print_r($tags);
  10.       //пишем список-теги со ссылками на просмотр
  11.       function derevolia($parent=0) {
  12.               global $tags;
  13.               echo '<ul>';
  14.                           for ($i=0;$i<=count($tags[$parent])-1;$i++) {
  15.                       echo '<li><a href="fotos.php?union='.$tags[$parent][$i][0].'">'.$tags[$parent][$i][1].'</a>';
  16.                       if (isset($tags[ $tags[$parent][$i][0] ])) derevolia($tags[$parent][$i][0]);
  17.                       echo '</li>';
  18.               }
  19.               echo '</ul>';
  20.               }
  21.                           return derevolia();
  22. ?>


выводит:

CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.             [0] => Array
  5.                 (
  6.                     [0] => 1
  7.                     [1] => Текст комментария 1.
  8.                 )
  9.  
  10.             [1] => Array
  11.                 (
  12.                     [0] => 3
  13.                     [1] => А это 2 комментарий к акции
  14.                 )
  15.  
  16.         )
  17.  
  18.     [1] => Array
  19.         (
  20.             [0] => Array
  21.                 (
  22.                     [0] => 2
  23.                     [1] => А это текст ответа на 1 комментарий.
  24.                 )
  25.  
  26.             [1] => Array
  27.                 (
  28.                     [0] => 4
  29.                     [1] => Второй ответ на 1 комментарий
  30.                 )
  31.  
  32.         )
  33.  
  34.     [4] => Array
  35.         (
  36.             [0] => Array
  37.                 (
  38.                     [0] => 5
  39.                     [1] => 1 Комментарий к 1 комментарию первого поста!
  40.                 )
  41.  
  42.             [1] => Array
  43.                 (
  44.                     [0] => 7
  45.                     [1] => комментарий ко второму ответу на первый коммент к 1 посту
  46.                 )
  47.  
  48.         )
  49.  
  50.     [5] => Array
  51.         (
  52.             [0] => Array
  53.                 (
  54.                     [0] => 6
  55.                     [1] => комментарий 1 к комментарию 1... кароче к самому последнему комментарию комментария к первому посту вот :)
  56.                 )
  57.  
  58.         )
  59.  
  60. )
  61.  
  62.     * Текст комментария 1.
  63.           o А это текст ответа на 1 комментарий.
  64.           o Второй ответ на 1 комментарий
  65.                     + 1 Комментарий к 1 комментарию первого поста!
  66.                        # комментарий 1 к комментарию 1... кароче к самому последнему комментарию комментария к первому посту вот :)[/b]
  67.                    + комментарий ко второму ответу на первый коммент к 1 посту
  68.     * А это 2 комментарий к акции

выводятся не там : + 1 Комментарий к 1 комментарию первого поста!
# комментарий 1 к комментарию 1... кароче к самому последнему комментарию комментария к первому посту вот
+ комментарий ко второму ответу на первый коммент к 1 посту
2. Zuldek - 27 Октября, 2011 - 09:26:04 - перейти к сообщению
В скрипте ошибок нет есть невнимательное заполнение отладочной таблицы в бд.. Хм

 

Powered by ExBB FM 1.0 RC1