У меня есть следующая MySQLi-DB:
╔═════════════╦═══════════╦════════════════╗
║ category_id ║ parent_id ║ name ║
╠═════════════╬═══════════╬════════════════╣
║ 28 ║ 1 ║ blog root ║
╠═════════════╬═══════════╬════════════════╣
║ 30 ║ 28 ║ painting ║
╠═════════════╬═══════════╬════════════════╣
║ 31 ║ 30 ║ kids painting ║
╠═════════════╬═══════════╬════════════════╣
║ 32 ║ 30 ║ teens painting ║
╠═════════════╬═══════════╬════════════════╣
║ 35 ║ 28 ║ recipes ║
╠═════════════╬═══════════╬════════════════╣
║ 36 ║ 28 ║ diy ║
╚═════════════╩═══════════╩════════════════╝
Это дерево категорий
blog root
painting
kids painting
teens painting
recipes
diy
Мне нужно создать запрос, который приведет ко всем category_id для категории с все его подкатегории.
ПРИМЕР:
1) query with category_id = 30 --> result 30, 31, 32
2) query with category_id = 28 --> result 28, 30, 31, 32, 35, 36
3) query with category_id = 35 --> result 35
Мой запрос newbe:
SELECT `category_id` FROM `blog_category` WHERE `category_id` = 28 OR `parent_id` = 28
это приведет к 28, 30, 35, 36 -> отсутствует 31 , 32
Как я могу решить эту проблему?
Изменить: в MySQL невозможно, как кажется.
Итак, как я могу создать с PHP и easy Mysql - запрашивает строку с разделителями-запятыми для выполнения окончательного запроса, такого как , это решение в stackoverflow ?
--->
... WHERE category_id IN ('$string')