2013-12-06 3 views
0

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

Использование имени таблицы Bus_CategoryTbl для ведения категорий & Используемые поля: Cat_ID, Cat_Name, Cat_Slug, Cat_Level и т. Д. В этом Cat_PID будет иметь Cat_ID родительской категории.

Вот пример записи,

Cat_ID Cat_name   Cat_Slug   Cat_PID 
1  Web Design   web-design   0 
2  PHP    php     1 
3  MYSQL    mysql    1 
4  Hotels    hotels    0 
5  5 Stars   5-stars    4 
6  3 stars   3-stars    4 
7  Le Meridian  le-meridian   5 
8  St Laurn Suites st-laurn-suites  5 
9  Niraali Executive niraali    6 

Cat_PID значение 0 указывает на первый уровень родительской категории.

Выше приведен пример записей, выше таблицы имеют 3 уровня. Для Ex: Отели (Cat_ID: 4) -> 5 звезд (Cat_ID: 5) -> St Laurn Suites (Cat_ID: 8)

Как результат динамического результата с использованием PHP/MySql (уровни могут увеличиваться в будущем) ? Он не должен использовать больше времени процессора. текущий код был написан в 3-мерной структуре массива с использованием foreach, но его немного путают, занимая больше времени процессора.

Можете ли вы кого-нибудь помочь мне в достижении этого? ТИА.

+0

Один из способов сделать это было бы вложенные множества. Этот вопрос является хорошей отправной точкой: http://stackoverflow.com/questions/5368299/hierarchical-data-nested-set-model-mysql –

+0

Спасибо за информацию. Позвольте мне проверить и подтвердить ... –

ответ

2

Try следующий код

function Fname($parentId=0){ 
    $catgArray = array(); 
    $sql = mysql_query("SELECT * FROM Table Where Cat_PID=$parentId"); 
    $mainCatg = mysql_fetch_array($sql); 
    foreach($mainCatg as $mc){ 
    array_push($catgArray , $mc); 
    $subCatg = $this->Fname($mc->Cat_ID); 
       if (count($subCatg) > 0) { 
        array_push($catgArray , $subCatg); 
       } 
    } 
return $catgArray; 
    } 

В результате можно проверить вложенные уровни категории с помощью is_array функции()

+0

Спасибо за информацию. Позвольте мне проверить и подтвердить ... –

Смежные вопросы