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 - 09 Ноября, 2011 - 13:49:47 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2.      //получаем массив-дерево тегов
  3. $num=0;
  4.      $res = mysql_query("select comments_id,comments_parent,comments_text from comments order by comments_id, comments_parent ASC") or die ("ошибка ".mysql_error());
  5.  
  6.              while ($line = mysql_fetch_assoc($res)) {
  7.  
  8.                      $tags[ (int) $line['comments_parent'] ][] = array( (int) $line['comments_id'], $line['comments_text']);
  9.  
  10.              }
  11.  
  12.                   //пишем список-теги со ссылками на просмотр
  13. echo "<br/>";
  14.      function derevolia($parent=0) {
  15.              global $tags;
  16.  
  17.                          for ($i=0;$i<=count($tags[$parent])-1;$i++) {
  18.  
  19.                         $num++;
  20.              echo '<div style="margin-top:0px; margin-bottom:0px; position:relative; float: left; margin-left:10px; margin-bottom:0px; border:0px solid black;">';
  21.                      echo '
  22. <div class="com_container" style="border:0px solid black;">
  23. <div class="com_left_top"></div>       
  24. <div class="com_left_bottom"></div>
  25.         <div class="com_right_top"></div>
  26.         <div class="com_right_bottom">  </div>
  27. <div class="com_avatar_border"></div>
  28. <div class="com_avatar"></div>
  29. <table border="0">
  30.         <tr>
  31.                 <td width="93">
  32. <div class="com_spacer"></div>
  33.                 </td>
  34.                 <td>
  35. <div class="com_text_cont">
  36. <div class="com_time_cont">
  37. <span class="com_time">5 октября в 13 ч. 50 мин.</span>';
  38. $num=$num+1;
  39. echo '<b>'.$num.'</b><br/>';   
  40. echo '<b>'.$i.'</b>';  
  41. echo '<a href="#" onclick="anichange(';
  42. echo "'#divId$num'"; ?><? echo '); return false">Ответить</a>
  43. <div id=';
  44. echo "'divId$num'"; ?><? echo ' style="display: none">
  45. Тут форма отфета на ткущий комментарий
  46. <br>
  47. </div>';
  48. echo '</div>
  49. <div class="com_text">
  50.                                           '.$tags[$parent][$i][1].'
  51. </div>';
  52.  
  53. echo '<div class="com_name_cont">
  54. <span class="com_name">Vika</span>
  55. </div>
  56. </div>
  57.                 </td>
  58. </tr>
  59. </table>
  60. </div>
  61.                                           ';
  62.  
  63.                      if (isset($tags[ $tags[$parent][$i][0] ])) derevolia($tags[$parent][$i][0]);
  64.  
  65.              echo '</div>';
  66.  
  67.              }
  68.  
  69.              }
  70. derevolia();


$num — счетчик к которому пытаюсь прицепиться дабы показывать скрытый блок с формой ответа на текущий комментарий. Однако при выводе дерева $num принимает такие значения - 2 2 2 2 4 2 4.
Наверно это связано с тем что функция сама себя вызывает в цикле и счетчик как-то сбивается.
Нужно просто выводить порядковый номер комментария независимо от вложенности, чтобы привезать к нему id блока с формой, которую показывает при клике на "Ответить" js.
прошу помочь, заранее благодарен за любые ответы и комментарии.
2. EuGen - 09 Ноября, 2011 - 13:54:55 - перейти к сообщению
Zuldek пишет:
function derevolia($parent=0) {
global $tags;

Возможно,
PHP:
скопировать код в буфер обмена
  1. function derevolia($parent=0) {
  2.              global $tags, $num;


?
3. Zuldek - 09 Ноября, 2011 - 14:01:15 - перейти к сообщению
EuGen пишет:
Zuldek пишет:
function derevolia($parent=0) {
global $tags;

Возможно,
PHP:
скопировать код в буфер обмена
  1. function derevolia($parent=0) {
  2.              global $tags, $num;


?

Именно.
Спасибо большое. Как говорится, берешь чужой код, — читай внимательно Огорчение

 

Powered by ExBB FM 1.0 RC1