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

Форум PHP

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

 

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

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

тема: Не видна переменная
 
 автор: OLi   (10.07.2011 в 20:05)   письмо автору
 
 

$cat = '';
$cat .= '<select class="rating" id="cat" style="width:200px;" onchange="this.form.submit();" name="cat" size="'.$v.'">';
function recursia ($parentid,$db,&$cat){

$result = $db->query("SELECT id, name, parentid from dle_category where parentid=$parentid order by name");
if ($result !== false) {

    if ($db->num_rows($result) > 0){
    
    
        $cat.='<option value="0">Выбрать из списка</option>';
        
        while ($mn = $db->get_row($result)) {
        
        
        if ($_POST['cat'] == $mn[id]) {
                $cat .= '<option selected="selected" value="'.$mn[id].'">->'.htmlspecialchars($mn[name]).'</option>';
            } else{
                $cat .= '<option value="'.$mn[id].'">'.htmlspecialchars($mn[name]).'</option>';
            }
        
        
        
        
//$arr[$mn[id]]['parentid'] = $mn['parentid']; 
//$arr[$mn[id]]['name'] = $mn['name'];
        
            
        recursia($mn[id],$db,$cat);    
        }
        

 }    


/*        foreach($arr as $id => $parentid)  
  { 
 if ($parentid[parentid]!==0){
  
 echo recursia($parentid[parentid],$db);
 
   }
      elseif ($_POST['cat'] == $id) {
                $cat .= '<option selected="selected" value="'.$id.'">->'.htmlspecialchars($parentid[name]).'</option>';
            } elseif($parentid[parentid]==0) {
echo $mn[name];// выводит
                $cat .= '<option value="'.$id.'">'.htmlspecialchars($parentid[name]).'</option>';
            }
  } 
        
*/        
        
    }
}
$cat .= "</select>";
recursia (0,$db,$cat);

Не формируется вывод select списка, не видна переменная $cat в функции..

  Ответить  
 
 автор: MHz   (10.07.2011 в 20:37)   письмо автору
 
   для: OLi   (10.07.2011 в 20:05)
 

Да, Вы не поленились описать работу вашего приложения и суть проблемы, да и количество комментариев в коде радует глаз...

  Ответить  
 
 автор: cheops   (10.07.2011 в 21:07)   письмо автору
 
   для: OLi   (10.07.2011 в 20:05)
 

Может стоит объявить переменную $cat глобальной?

  Ответить  
 
 автор: OLi   (10.07.2011 в 21:28)   письмо автору
 
   для: cheops   (10.07.2011 в 21:07)
 

Нет не помогло...

  Ответить  
 
 автор: sl1p   (10.07.2011 в 23:01)   письмо автору
 
   для: OLi   (10.07.2011 в 21:28)
 

мне кажется все "echo" нужно заменить на $cat .=
и уже в конце вызывать так: recursia (0,$db,$cat);

потому что вы выводите в браузер сами <option> которые не вложены в <select>..

  Ответить  
 
 автор: OLi   (16.07.2011 в 12:25)   письмо автору
 
   для: sl1p   (10.07.2011 в 23:01)
 

Все равно не работает...что еще можно рассмотреть?

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

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