[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Категории бесконечной вложенности (Вывод определен
xew123
Имеется SQL база категорий вида (id,name,subcategory) - Если subcategory=0 то это родительская категория

Создание массива:
function get_cat() 
{
//запрос к базе данных
$sql = "SELECT * FROM category";
$result = mysql_query($sql);
if(!$result)
{
return NULL;
}
$arr_cat = array();
if(mysql_num_rows($result) != 0)
{
//В цикле формируем массив
for($i = 0; $i < mysql_num_rows($result);$i++)
{
$row = mysql_fetch_array($result,MYSQL_ASSOC);

//Формируем массив, где ключами являются адишники на родительские категории
if(empty($arr_cat[$row['subcategory']]))
{
$arr_cat[$row['subcategory']] = array();
}
$arr_cat[$row['subcategory']][] = $row;
}
//возвращаем массив
return $arr_cats;
}
}



Вывод категорий:
function view_cat($arr,$subcategory = 0) 
{
//Условия выхода из рекурсии
if(empty($arr[$subcategory])) {
return;
}
echo "<ul>";
//перебираем в цикле массив и выводим на экран
for ($i = 0; $i < count($arr[$subcategory]);$i++)
{
echo "<li><a href='index.php?main_category".$_GET["main_category"]."&category=".$arr[$subcategory][$i]["id"].
"&subcategory=".$subcategory."'>"
.$arr[$subcategory][$i]["name"]."</a>";
//рекурсия - проверяем нет ли дочерних категорий
view_cat($arr,$arr[$subcategory][$i]["id"]);
echo "</li>";
}
echo "</ul>";
}



Ни как не могу понять как вывести только одну родительскую категорию со всеми в неё вложеными подкатегориями
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.