Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: функция ничего не возвращает
 
 автор: OLi   (30.07.2011 в 20:55)   письмо автору
 
 

в функции формирую массив $right_col[]
потом return $right_col;
и вызываю функцию, но ничего не выводит...в чем проблема?

  Ответить  
 
 автор: cheops   (30.07.2011 в 21:56)   письмо автору
 
   для: OLi   (30.07.2011 в 20:55)
 

Нужно бы больше подробностей, но первое что нужно сделать это снять дамп массива
<?php
  
echo "<pre>";
  
print_r($right_col);
  echo 
"</pre>";
?>
сразу после формирования, перед return, после вызова функции, чтобы локализовать место, где он обнуляется.

  Ответить  
 
 автор: OLi   (31.07.2011 в 02:14)   письмо автору
 
   для: cheops   (30.07.2011 в 21:56)
 

Лучше приведу пример своего кода:
function show_categories($id) {
    global $db,$count,$left_col;
    
   $e=$db->query("SELECT * FROM " . PREFIX . "_category where parentid='".$id."'");
    $all_count = $db->num_rows($e);
        $i=0;
        $left_col=array();
        $right_col=array();
    while ( $row = $db->get_row($e)) {
            $query_all = $db->query("SELECT * FROM `".PREFIX."_post` where category LIKE '%".$row['id']."%'");
            $count = $db->num_rows($query_all); 
            
            
            
          
                if ($i<6) {
                    if ($row['parentid']!=0) { 
                
                 $left_col[]='- <img src="'.$row['icon'].'"><a href="#">'.$row['name'].'</a><span>'.$count.'</span><br>';
                
                
            }
                    
                    $left_col[]='<img src="'.$row['icon'].'"><a href="#">'.$row['name'].'</a><span>'.$count.'</span><br>';}else {
                        if ($row['parentid']!=0) { 
                
                 $right_col[]='- <img src="'.$row['icon'].'"><a href="#">'.$row['name'].'</a><span>'.$count.'</span><br>';
                
                
            }
                    
                    $right_col[]='<img src="'.$row['icon'].'"><a href="#">'.$row['name'].'</a><span>'.$count.'</span><br>';
                    
                    
                }
                
                
                
                
            
           $i++;
           show_categories( $row['id'] ); 
         return $left_col;
            
        } 
        
    
    
  
}
echo count($left_col);
show_categories(0);

  Ответить  
 
 автор: Yuriev   (31.07.2011 в 02:24)   письмо автору
 
   для: OLi   (31.07.2011 в 02:14)
 

Куда ж ей возврашать то? Не сказано.
Пробуйте так
echo show_categories(0);;

И ещё сомневаюсь, что в базе есть parentid равный 0

  Ответить  
 
 автор: OLi   (31.07.2011 в 02:30)   письмо автору
 
   для: Yuriev   (31.07.2011 в 02:24)
 

>И ещё сомневаюсь, что в базе есть parentid равный 0 - есть!

  Ответить  
 
 автор: OLi   (31.07.2011 в 03:46)   письмо автору
 
   для: OLi   (31.07.2011 в 02:30)
 

Не в этом дело

  Ответить  
 
 автор: OLi   (31.07.2011 в 13:26)   письмо автору
 
   для: OLi   (31.07.2011 в 03:46)
 

Вопрос снят, т-к нашел решение

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования