[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод из базы по категориям
Dizzy
База имеет структуру следующего вида - 3 таблицы:

1. Таблица tovar (id, name, text)
2. Таблица pages (id, name, parent) - это категории. Начальная категория имеет parent 0, а подкатегории соответсвующий parent.
3. Таблица tovar_vitrina (id, id_tovar, id_cat) - те товары что будем выводить, витрина.

Как правильно составить запросы чтобы не наговнокодить?

К примеру мне нужно вывести товары одной категории, в которой есть еще 3-5 подкатегорий
sg.com
SELECT * from pages WHERE parent IN (12,15,18);
Dizzy
Цитата (sg.com @ 4.01.2017 - 15:48)
SELECT * from pages WHERE parent IN (12,15,18);

Окей, а как узнать parent'ы категорий?
Фишка в том что их может быть 0-1, а может быть 10
sg.com
Цитата (Dizzy @ 4.01.2017 - 20:13)
Окей, а как узнать parent'ы категорий?


либо отдельным запросом либо вложенным
Dizzy
Цитата (sg.com @ 4.01.2017 - 16:59)
Цитата (Dizzy @ 4.01.2017 - 20:13)
Окей, а как узнать parent'ы категорий?


либо отдельным запросом либо вложенным

<?php
$parent_array = array();
$last_parent = 0;

$res = mysql_query("SELECT * FROM `pages` WHERE `parent` = $last_parent");
if($num_rows = mysql_num_rows($res)) != 0)
{
$parent_array[] = $res['parent'];
$res = mysql_query("SELECT * FROM `pages` WHERE `parent` = $last_parent");
$last_parent = mysql_fetch_array($res)['parent'];
while($num_rows = mysql_num_rows($res)) != 0) {
$parent_array[] = $res['parent'];
$res = mysql_query("SELECT * FROM `pages` WHERE `parent` = $last_parent");
$last_parent = mysql_fetch_array($res)['parent'];
}
}

?>


Пытаюсь вытащить все parent'ы но выходит какой то бред(
Быстрый ответ:

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