Budget: 300 UAH Deadline: 1 day
Добрый день! Ознакомился с заданием. Готов выполнить. Обращайтесь, буду рад сотрудничать!
Есть 2 таблицы:
1 - таблица категорий, и связей (cat2 и cat3 подчиняется cat1)
prod_category
id|name|parent_category|
1 |cat1| 0 |
2 |cat2| 1 |
3 |cat3| 1 |
4 |cat4| 3 |
5 |cat5| 3 |
6 |cat6| 0 |
7 |cat7| 6 |
8 |cat8| 0 |
9 |cat9| 8 |
10|cat10| 9 |2 - таблица продуктов и их категории
products
id| name|category_id|
1 |prod1| 0 |
2 |prod2| 1 |
3 |prod3| 2 |
4 |prod4| 3 |
5 |prod5| 4 |
6 |prod6| 5 |
7 |prod7| 6 |
8 |prod8| 7 |
9 |prdo9| 8 |
10|prod10| 9 |Я делаю sql цикл родительских категорий:
$stmt = $pdo->query("SELECT * FROM prod_category WHERE parent_category='0'");
while ($row = $stmt->fetch()) {
if ($count_products_in_category > 0) {
echo $row['name'];
}
else {}
}Далее мне нужно просчитать есть закреплена ли эта категория в продуктах (есть ли в ней продукты). Если нет, тогда взять категорию которая подчиняется (дочерняя) и посчитать есть ли в ней продукты, и до кона связей. Если продукты в какой либо категории (дочерней либо же в самой родительской) есть, тогда выводим $row['name'], если нет, тогда не выводим.
Budget: 300 UAH Deadline: 1 day
Добрый день! Ознакомился с заданием. Готов выполнить. Обращайтесь, буду рад сотрудничать!
Budget: 300 UAH Deadline: 1 day
Внутри цикла нужно вставить запрос в таблицу продуктов и считать по ней count(*)
что-то вроде select count(*) from products where category_id=$row['category_id']
Можно рекурсией дойти до конечной категории и по этой категории сделать запрос в БД на проверку товаров данной категории.
Вывести названия всех категорий, где есть товары можно ОДНИМ sql-запросом
ну или в цикле выбирать... тогда запросов к базе будет столько, сколько существует категорий))
Мне не нужны все категории. Должна быть иерархия родительских->дочерних.
есть id и parent_category - можно джойнить к таблице саму себя, чтобы след. столбик был дочерней категорией
но если у Вас 10 категорий - пишите Select * всё в цикле
Тут всё делается одним запросом.
PS: sql - это не только селект, но ещё группировки, условия и т.д.т.п.
Правильно я понял, нужно вывести названия категорий, если в них есть хоть один товар.
Нужно вывести те категории в которых есть товар, но нужно выдержать иерархию
вам уже сделали задание, или нет?
по доп.запросу могу прочесть пару часов лекций о связях в реляционных базах, если хотите
Gaming Apps 18 proposals 3 August
Client Management & CRM 19 proposals 31 July
17 proposals 27 July
Client Management & CRM 42 proposals 27 July
Web Programming 162 proposals 10 July