Привет всем. Помогите с решением задачи. Есть две таблицы catalog и subcategory, в первой лежат основные категории во второй подкатегории. Таблица CATALOG --------------------------------------------------------------------------------- cat_id | cat_title | cat_description | cat_keywords | cat_text | --------------------------------------------------------------------------------- 1 |Заголовок| Описание кат. | Ключевые | Текст | --------------------------------------------------------------------------------- 2 |Заголовок| Описание кат. | Ключевые | Текст | --------------------------------------------------------------------------------- 3 |Заголовок| Описание кат. | Ключевые | Текст | --------------------------------------------------------------------------------- Таблица SUBCATEGORY ----------------------------------------------- sub_id | cat_id | sub_title | ----------------------------------------------- 1 | 1 | Опис. подкат. | ----------------------------------------------- 2 | 1 | Опис. подкат. | ----------------------------------------------- 3 | 2 | Опис. подкат. | ----------------------------------------------- 4 | 1 | Опис. подкат. | ----------------------------------------------- Как составить запрос, чтобы выводилась категория, и под ней можно было вывести под категорию + также будут существовать категории без категории. Пытался экспереметировать, но безуспешно. И желательно вывести это через return, так как шаблонная система. $sql = "SELECT * FROM catalog,subcategory WHERE catalog.cat_id=subcategory.cat_id "; $menu = $dbh->query($sql); if($menu !== false) { if ($menu->rowCount() > 0) { return $menu; } else { return false; } }
Код (PHP): SELECT c.name as cname,sc.name as scname FROM catalog as c LEFT JOIN subcategory as sc ON c.cat_id=sc.cat_id
Сделал вот так : $sql = "SELECT c.cat_title as cname,sc.sub_translit as scname FROM catalog as c LEFT JOIN subcategory as sc ON c.cat_id=sc.cat_id"; $menu = $dbh->query($sql); if($menu !== false) { if ($menu->rowCount() > 0) { return $menu; } else { return false; } } Добавлено спустя 9 минут 29 секунд: <? foreach ($menu_admin as $menu_admin_view): ?> <?=$menu_admin_view['cname']?><br /> <?if (!empty($menu_admin_view['scname'])):?> <?=$menu_admin_view['scname']?><br /> <?endif?> <? endforeach ?> таким образом получается что выводит Категория 1 - Подкатегория Категория 1 - Подкатегория Категория 1 - Подкатегория Категория 2 - Подкатегория Категория 2 - Подкатегория а надо чтобы один раз Категорию и под ним список подкатегорий.
Не тем по моему занимаетесь лучше написать не сложный код по созданию произвольного меню в который пишите пункты меню руками сколько надо в какой надо последовательности потом сохранить в массив и сериализовать и в файл
Желательно пока найти решение для этого вывода. Код (Text): <? foreach ($menu_admin as $menu_admin_view): ?> <?=$menu_admin_view['cname']?><br /> <?if (!empty($menu_admin_view['scname'])):?> <?=$menu_admin_view['scname']?><br /> <?endif?> <? endforeach ?> таким образом получается что выводит Категория 1 - Подкатегория Категория 1 - Подкатегория Категория 1 - Подкатегория Категория 2 - Подкатегория Категория 2 - Подкатегория Добавлено спустя 40 минут 10 секунд: Всё решил. Спасибо Всем кто откликнулся!