PHP запрос

php MySQL sql

может опишу криво, но задумка такая:
предположим есть БД книг, 2 таблички, одна с категориями (веселые, скучные, интересные), другая с книгами и с айдишками категорий, получилось так:

category:
id | name
1 | веселые
2 | скучные
3 | интересные

books
id | name | category
1 | X | 1,2
2 | Y | 1
3 | Z | 1,3

Вот, ведь каждая книга может быть к нескольким категориям, они через запятую перечислены.

А вот теперь встал вопрос, а как вывести например все книги в категории с ID =1 и с категориями ID = 1,2????? Или как по другому реализовать такую систему?
Ответы:
Можете каждый вывод из БД, приравнивать к нужному значению через "strpos()". Эта ф-ция ловит первое вхождение.
http://www.php.su/functions/?strpos
where (category like "1,%" or category like "%,1,%" or category like "%,1" or category = "1") // and (category like "2,%" or category like "%,2,%" or category like "%,2" or category = "2")
нужна 3я таблица, причем чем раньше тем лучше, а также внешние ключи. Потом вы задолбаетесь это поддерживать, а объем кода из-за такой структуры может многократно возрасти


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.