Страница 1 из 1

несколько категорий у новости и выбор новостей из 1 категори

Добавлено: 2011.12.16, 19:20
rem
объясню подробнее.
есть таблица с категориями (айди, название). есть таблица с записями, в каждой записи можно указывать несколько категорий (например, id:1, title:aaa, category:1,2,3).
теперь проблемка. не могу понять как сделать выборку новостей из определенной категории. допустим категория с названием ННН, в ней нужно вывести все новости у которых указан айди этой категории. как сделать эту самую выборку в таблице из поля category, в котором несколько значений?

Re: несколько категорий у новости и выбор новостей из 1 кате

Добавлено: 2011.12.16, 19:27
Johnatan
Почитайте:
http://ru.wikipedia.org/wiki/%D0%9D%D0% ... 0%BC%D0%B0
При чём обязательно прочитайте и ПОЙМИТЕ все 6 нормальных форм и две дополнительные формы. Без этого у вас не получится реализовывать сколько-нибудь сложные проекты с базами данных.

После этого читайте:
http://www.yiiframework.com/doc/guide/1 ... tabase.arr
Если после прочтения будут вопросы - пишите.

Re: несколько категорий у новости и выбор новостей из 1 кате

Добавлено: 2011.12.17, 08:55
rem
Спасибо за статью.
Я так понял что правильней будет сделать еще одну таблицу, в которой будут храниться айди статьи и айди категории для этой статьи?
Тогда встает вопрос как обновлять эти данные? Допустим сначала ввели

Код: Выделить всё

article_id   category_id
1               1
1               2
1               3
Потом вдруг потребовалось у этой статьи изменить айди категории на 4, 5, 6, 7, 8.
Просто удалить все записи из БД с айди этой статьи и заново добавить только с новыми айди категории будет правильно?

Re: несколько категорий у новости и выбор новостей из 1 кате

Добавлено: 2011.12.17, 11:11
esche
rem писал(а):Просто удалить все записи из БД с айди этой статьи и заново добавить только с новыми айди категории будет правильно?
* из промежуточной таблицы. Можно удалять не все, а только WHERE category_id NOT IN (4,5,6,7)
p.s. Посмотрите пример демо-блога - там решение (Post - Tag) ближе к Вашему первому варианту.

Re: несколько категорий у новости и выбор новостей из 1 кате

Добавлено: 2011.12.17, 12:37
rem
Всем спасибо, теперь разобрался

Re: несколько категорий у новости и выбор новостей из 1 кате

Добавлено: 2013.12.07, 12:01
asisdes
Чувак здорова!
Код рабочий есть реализации категорий?
так же столкнулся с такой проблемой.

Re: несколько категорий у новости и выбор новостей из 1 кате

Добавлено: 2014.04.06, 20:00
kabiden-azamat
$mysqli = new mysqli("localhost", "root", "", "cat"); // Подключение к БД
$cat = $_GET['cat']; // Получаем id категории которую будем искать
$result_set = $mysqli->query("SELECT * FROM `news`"); // Выводим все новости
while($id = $result_set->fetch_assoc()) {
$pieces = explode(",", $id['cat']); // Разделяем id через запятую
for($i=0; $i<count($pieces); $i++) {
if($pieces[$i] == $cat) { // Проверяем если присутствует ли в новости заданные ранее id
echo $id['title']."<br />"; // выводим найденную новость
}
}

}

Я редко с этим сталкивался но вот решил попробовать вроде как получилось, правда не рассчитал то что если найдет много новостей разбить все по страницам, но прилажил файл где все доработал кто разбирается хоть немного в php думаю поймет