Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Каким mysql запросом получить категории > подкатегорий > подкатегорий?

Каким mysql запросом получить категории > подкатегорий > подкатегорий?


     08.03.2015    Общие вопросы    1177

вопрос
Есть категории -

id1 (Главная категория)
- id10 Подкатегория 10 из id1
- - id100 Подкатегория 100 из id10
- - id101 Подкатегория 101 из id10
- id11 Подкатегория 11 из id1
- - id102 Подкатегория 102 из id11
- - id103 Подкатегория 103 из id11
- id12 Подкатегория 12 из id1
- - id104 Подкатегория 104 из id12
- - id105 Подкатегория 105 из id12


Если сделать такой запрос -
SELECT id, name FROM dle_category WHERE parentid = '1' ORDER BY name ASC


То выводит -
Подкатегория 10
Подкатегория 11
Подкатегория 12

Как сделать чтобы выводило

Подкатегория 10
Подкатегория 100
Подкатегория 101
Подкатегория 11
Подкатегория 102
Подкатегория 103
Подкатегория 12
Подкатегория 104
Подкатегория 105

или в любом другом порядке, НО, чтобы выводились не только подкатегории от категории 1, но и все подкатегории этих категория.
Надеюсь понятно спросил =)

Ответа пока нет


Комментарии пользователей (6)

vadims
10

373 | 63

vadims - 8 марта 2015 20:40 - Юзер

Или как сделать запрос -
SELECT id, name FROM dle_category WHERE parentid = '10,11,12' ORDER BY name ASC

Выводит только из первой, из id10

vadims
10

373 | 63

vadims - 8 марта 2015 22:23 - Юзер

Павел, Вы в данный момент все вопросы и комментарии проверяете =)
Подскажите, как быть с выводом?

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 8 марта 2015 22:28 - Админ

Не все и не всегда. Только те, что попадаются на глаза.
Никаких запросов не нужно.
Используйте функцию get_sub_cats (в functions.php)

Каков вопрос - таков и ответ. Просто помните об этом.

vadims
10

373 | 63

vadims - 8 марта 2015 22:39 - Юзер

Дело в том, что нужно именно запросом mysql вывести =)

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 8 марта 2015 22:45 - Админ

$cat_info = get_vars("category");

if (!is_array($cat_info)) {
    $cat_info = array();

    $db->query("SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC");
    while ($row = $db->get_row()) {

        $cat_info[$row['id']] = array();

        foreach ($row as $key => $value) {
            $cat_info[$row['id']][$key] = stripslashes($value);
        }

    }
    set_vars("category", $cat_info);
    $db->free();
}


ну и дальше get_sub_cats();

Каков вопрос - таков и ответ. Просто помните об этом.

vadims
10

373 | 63

vadims - 8 марта 2015 23:07 - Юзер

Павел, спасибо Вам большое за помощь и за такой прекрасный сайт! =)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы