Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Занести дерево в массив 
:(
    Опции темы
namra
Дата 15.3.2014, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Использую функцию для вывода дерева из бд, но список большой и хотелось бы  разбить по странично, постраничный вывод обычно реализую из массива, но в данном случае не знаю как загрузить вывод этой функции в массив 
Код

         function ShowTree($ParentID, $lvl) 
         { 
             global $lvl;
             $lvl++; 

             $str=Podcats::model()->findAll('id_menu=:id_menu',array(':id_menu'=>$ParentID));

             echo '<table>';
              foreach($str as  $value) 
              {
                echo '<tr>';
                   $ID1 = $value["id"];
                   echo '<td class="zagstr">'.$value['podcats'].'</td>';
                   ShowTree($ID1, $lvl); 
                   $lvl--;
                echo '</tr>';    
               }
              echo '</table>'; 
          }
     
         ShowTree(0, 0); 

PM MAIL   Вверх
baldina
Дата 15.3.2014, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



как-то так
Код

function array_get ($array, $key, $value) {
  $result = array();
  foreach ($array as $item)
     if ($item[$key] == $value)
        $result [] = $item;
  return $result;
}

function ShowTree($ParentID, $lvl, $array) 
{ 
           $subarray = array_get ($array, 'id_menu', $ParentID);
           if (count ($subarray) > 0) {
             echo '<table>';
              foreach($subarray as  $value) 
              {
                  echo '<tr>';
                     $ID1 = $value['id'];
                     echo '<td class="zagstr">'.$value['podcats'].'</td>';
                     ShowTree($ID1, $lvl+1, $array); 
                  echo '</tr>';    
               }
              echo '</table>'; 
           }  
}

$array = Podcats::model()->findAll();
ShowTree(0, 0, $array); 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.