Суть вопроса такая: есть очень старый сайт на пэхе, две таблицы в MySQL
table1 (товары/услуги)
-----------------------
| id | name | cat_id |
-----------------------
и table2 (сами категории и атрибуты категорий)
---------------------------
| id | name | desc | etc. |
---------------------------
В поле `cat_id` есть такие записи, как:
где и указываются id категорий, через запятую. Мне нужно выбрать товары/услуги, которые принадлежат, например, первой категории.
Сейчас, пока категорий не более 20 сделал быстрый костыль, но срочно нужно нормально решение, а не это вот:
$multicat = ($cat['id'] !=1 )?"(`category` REGEXP '".$cat['id']."(?=,|$)' or `category`='".$cat['id']."')":"(`category` REGEXP '".$cat['id']."(?=,)' or `category`='".$cat['id']."')";
$select = 'select `name` from `table1` where '.$multicat.' order by `id` asc');
Этот сиюминутный в*сер нужно срочно убирать!
PS: все id категории через запятую указываются по возрастанию.