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 :: Помощь по сайту [2]

 PHP.SU

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


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

> Описание: Вывод каталога
da1m
Отправлено: 25 Июня, 2013 - 10:04:33
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2013  


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




Результат
CODE (htmlphp):
скопировать код в буфер обмена
  1. a=site|link|link||parent -sub
  2. -sec
  3. -wh
 
 Top
Olegator
Отправлено: 25 Июня, 2013 - 10:36:46
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




Строка 1493
PHP:
скопировать код в буфер обмена
  1.  
  2. if (!$par[(string)$name]) {$par[(string)$name] = $getSection;}
  3. $ret = '<select name="items['.$name.']" size="'.$struct['size'].'">'.
  4. getsubsection($db,$t,$par[(string)$name],"module='".$struct->module."'").
  5. '</select>';
  6.  


убираем (string)

PHP:
скопировать код в буфер обмена
  1.  
  2. if (!$par[$name]) {$par[$name] = $getSection;}
  3. $ret = '<select name="items['.$name.']" size="'.$struct->size.'">'.
  4. getsubsection($db,$t,$par[$name],"module='".$struct->module."'").
  5. '</select>';
  6.  

(Добавление)
И повторите после этого, пож., снова echo последние
 
 Top
da1m
Отправлено: 25 Июня, 2013 - 11:28:35
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2013  


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. a=site|link|link||parent -sub
  2. -sec
  3. -wh
 
 Top
Olegator
Отправлено: 25 Июня, 2013 - 12:47:56
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




Начиная с 1494 строки, включая эту строку, пишем (т.е. посути мы заменяем запись с $ret новым блоком)

PHP:
скопировать код в буфер обмена
  1.  
  2. /*
  3. $ret = '<select name="items['.$name.']" size="'.$struct['size'].'">'.getsubsection($db,$t,$ft,$par[(string)$name],"module='".$struct->module."'").'</select>';
  4. */
  5. $sec      = $par[(string)$name];
  6. $wh       = "module='".$struct->module."'";
  7. $empty    = 0;
  8. $sep      = '&nbsp;&nbsp;';
  9. $htmlNew  = '';
  10. list ($filed,$temp) = explode('=', $t);
  11. list ($table,$_sub,$name,$caption,$fparent) = explode('|',$temp);
  12. if ($wh) {$wh = ' where '.$wh;}
  13. if ($fparent) {$_fparent = ','.$fparent;}
  14. $sql = "select $_sub,$name$_fparent from $table $wh";
  15.  
  16. /* testing ( удалить после тестирования) */
  17. echo $sql;
  18. /* end testing */
  19.  
  20. $res = $db->query($sql);
  21.  
  22. if (!$empty) {$htmlNew = '<option style="background-color:#CCCCCC" value="">'.$caption.'</option>';} else {$html = '';}
  23. if ($db->count($res)){
  24.   while ($arr = $db->fetcha()){
  25.     if ($fparent) {
  26.       if ($arr[$fparent]) {
  27.         $child[$arr[$fparent]][$arr[$_sub]] = $arr[$name];
  28.       }
  29.       else {
  30.         $parent[$arr[$_sub]] = $arr[$name];
  31.       }
  32.     }
  33.     else {
  34.       $parent[$arr[$_sub]] = $arr[$name];
  35.     }
  36.   }
  37.   while (list($key,$val) = each($parent)){
  38.     $_cnt_sec = 0;
  39.     $htmlNew .= '<option value="'.$key.'"';
  40.     if (gettype($sec) == 'array'){
  41.       if (in_array($key,$sec)) {$htmlNew .= ' selected';}
  42.     }
  43.     else {
  44.       if ($sec == $key) {$htmlNew .= ' selected';}
  45.     }
  46.     $htmlNew .= '>'.$val.'</option>';
  47.     if ($child[$key]){
  48.       $htmlNew .= suboption($key,$child,$sec,$sep);
  49.     }
  50.   }
  51. }
  52.  
  53. $ret = '<select name="items['.$name.']" size="'.$struct->size.'">'.$htmlNew.'</select>';
  54.  


После этого куска кода, в конце должно остаться


P.S. В новом куске кода, есть блока /* testing */
Напишите, что он выведет, и попробуйте запустить без него.
 
 Top
Olegator
Отправлено: 25 Июня, 2013 - 17:53:45
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




В новом коде, после строки


добавьте
PHP:
скопировать код в буфер обмена
  1.  
  2. echo '<pre>';
  3. var_dump($res);
  4. echo '</pre>';
  5.  


Если снова NULL , тогда надо будет смотреть есть ли вообще такая таблица `section_site`

(Отредактировано автором: 25 Июня, 2013 - 17:54:07)

 
 Top
Olegator
Отправлено: 28 Июня, 2013 - 23:22:14
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




Тему можно закрывать. Улыбка
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Июня, 2013 - 03:16:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Пусть ТС сюда отпишет что там было причиной.
 
 Top
Olegator
Отправлено: 01 Июля, 2013 - 12:26:40
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




Т.к. проблема решалась мной, то проще мне сказать. (может быть вы и имели ввиду меня, но я не совсем понял сокращение ТС ).
Проблема заключалась в самом движке, он был старый и плохо организованный. Автору темы движок достался "по наследству". Функция выводящая разделы каталога, не правильно обрабатывала данные.
Забавнее всего оказалось то, что изначально правильный код, был закомичен, а за место него, был написан новый неработающий.
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB