[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с подкатегориями
web-monster
Собственно нужно сделать категории и подкатегории:
подскажите как правильно это будет выглядеть!

Скажем сейчас есть просто главные категории а в них уже контент, напримере стихов

Есть категория: О любви, Разные и весёлые, в весёлые надо добавить ещё Матерные и Эротические к примеру!

Сейчас база с такой структурой:

category
id name opisanie

content
id category user avtor title stih

В самом скрипте конструкция вида:


if($category==""&&$stih=="")
{
...... //главный выбор категорий
}
else
if
($category!=""&&$stih=="")
{
......//выбор стихов из этой категории
}
else
if
($category!=""&&$stih!="")
{
......//просмотр стиха
}


Ну и запрос сответсвенно: stih.php?category=love&&stih=id

Нужно ещё правильно сделать подкатегории, подскажите пожалуйста!



Спустя 31 минута (30.01.2010 - 13:34) Ice написал(а):

SELECT content.`user` AS `user`,
content.`avtor` AS `avtor`,
content.`title` AS `title`,
content.`stih` AS `stih`,
category.`id` AS `id`
FROM `content`, `category`
WHERE `content`.`category` = `id`

как-то так=)

Спустя 32 минуты, 52 секунды (30.01.2010 - 14:06) Guest написал(а):
для того что бы создать подкатегорию для начала надобно добавить значение PARENT

category
id parent name opisanie

получится так

1 | 0 | О любви | opisanie
2 | 1 | Разные | opisanie
3 | 2 | Весёлые | opisanie
4 | 3 | Матерные | opisanie
5 | 3 | Эротические | opisanie

Спустя 2 минуты, 51 секунда (30.01.2010 - 14:09) Shurick написал(а):
Ну и соответственно запрос - выбор категории по ИД и контента по ИД-у той самой категории

Спустя 1 час, 3 минуты, 32 секунды (30.01.2010 - 15:13) web-monster написал(а):
А в самом скрипте как будет выборка например мне нужно попасть в стих в категории весёлые подкатегории матерные. Или посмотреть все стихи в этой подкатегории.

Как это будет выглядеть?

if($category==""&&$stih=="")
{
...... //главный выбор категорий, если подставить &&parent= то не прокатит вроде.
}
else
if
($category!=""&&$stih=="")
{
......//выбор стихов из этой категории
}
else
if
($category!=""&&$stih!="")
{
......//просмотр стиха
}



Спустя 1 час, 42 минуты, 6 секунд (30.01.2010 - 16:55) web-monster написал(а):
unsure.gif

Спустя 3 часа, 49 минут, 58 секунд (30.01.2010 - 20:45) Shurick написал(а):
Сперва организуй меню категорий. Как это у тебя выглядет?

дерево категорий

function tree($parent=0, $level=0) {
global $db;
$result=$db->sql_query("SELECT `id`,`parent`,`name` from `category` WHERE `parent`='".$parent."'");
while($row=$db->sql_fetchassoc($result)) {

$sub = get_tree_art($row['id'],$level+1);

$out[$row['id']] = array(
'id' => $row['id'],
'parent' => $row['name'],
'name' => $level,
'sub' => (!empty($sub) ? $sub : ''),
);

}
return $out;
}

посмотри на структуру массива
$out=tree();
echo '<pre>';
print_r($out);
echo '</pre>';


Вывод категории и подкатегории в меню


$result=$db->sql_query("select `id`,`parent`,`name` from `category` where `id`='".$id_category."'");
while ($res=$db->sql_fetchrow($result)){
$arr_res[$res['id']]=$res;

$resultsub=$db->sql_query("select `id`,`parent`,`name` from `category` where `parent`='".$res[id]."'");
while ($ressub=$db->sql_fetchrow($resultsub)) {
$arr_res[$res[id]][sub][]=$ressub;
}}


массив категорий - $arr_res[$res[id]][sub][]


Многое зависит от того как ты сам себе представляешь вывод . Советую начать с организации меню. Вывести стихи гораздо проще. Необходим всего лишь задать ид категории.

Спустя 2 часа, 17 минут, 37 секунд (30.01.2010 - 23:02) web-monster написал(а):
huh.gif Да я с массивами мало работал( Надо будет подучить) Туго сейчас въезжаю в смысл кода)
А вернее вообще не догоняю)

Спустя 1 час, 27 минут, 4 секунды (31.01.2010 - 00:30) Shurick написал(а):
ну для того что бы организовать какой нить вывод нужно научиться создавать массивы необходимой структуры. после того как начнешь понимать структуру массива много станет понятней и проще.

Спустя 3 дня, 22 часа, 46 минут, 41 секунда (6.02.2010 - 23:16) AmberLEX написал(а):
Shurick, ниче не понятно! Если будет 20 категорий, то чтобы вывести категории и подкатегории нужно будет 20 запросов к БД?

Спустя 11 часов, 46 минут, 7 секунд (7.02.2010 - 11:02) AmberLEX написал(а):
Быстрый ответ:

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