[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Категории/подкатегории
DarkEuge
Хочу сделать на сайте подкатегории, я так понимаю нужно делать два запроса в БД 1-й на указание какая это категория(то-есть родительная) а второй, указание к какой категории все это принадлежит?
Не могу понять.
Вот таким способом я вывел категории из БД


<?php
require($_SERVER['DOCUMENT_ROOT'].'/config/config.php');

$categories_right = mysql_query("select * from categories");

/* echo '<ul id="menu">';
echo '<li>';
echo '<a href="#">Кровати чердаки</a>';
echo '<ul>';
*/## Перебираем все "найденные" результаты, если их не будет, то и страница будет пуста

while($cr = mysql_fetch_array($categories_right)) {

echo '<li style="margin-left: 10px;"><a href="/index.php?view=cat&id='.$cr['cat_id'].'">'.$cr['name'].'</a></li>';
}
/* echo '</ul>';
echo '</li>';
echo '</ul>';
*/## Закрываем соединение с БД

mysql_close($connect_base);
?>



Буду рад любой помощи.
Arh
Делайте все категории просто категориями, то есть с точки зрения логики, родительская категория и дочернии это одно и тоже.

В базе, в таблице категорий добавье поле parent_id
то есть, есть [id категории], [name категории] и [parent_id]

parent_id это id категории, в которой находиться данная категория, захотели переместить из одной в другую - поменяли parent_id

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

Нужно на основе данных из базы создать вложенный массив вида.
$category = array (
1 = array (
'id' = 1,
'name' = 'Главная',
'child' = array (
'id' = 2,
'name' = 'Дочерняя',
)
)
);


Дальше рекурсией выводить категорию и если в ней есть ключ child, выводить child итд

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Быстрый ответ:

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