объясню подробнее.
есть таблица с категориями (айди, название). есть таблица с записями, в каждой записи можно указывать несколько категорий (например, id:1, title:aaa, category:1,2,3).
теперь проблемка. не могу понять как сделать выборку новостей из определенной категории. допустим категория с названием ННН, в ней нужно вывести все новости у которых указан айди этой категории. как сделать эту самую выборку в таблице из поля category, в котором несколько значений?
несколько категорий у новости и выбор новостей из 1 категори
Re: несколько категорий у новости и выбор новостей из 1 кате
Почитайте:
http://ru.wikipedia.org/wiki/%D0%9D%D0% ... 0%BC%D0%B0
При чём обязательно прочитайте и ПОЙМИТЕ все 6 нормальных форм и две дополнительные формы. Без этого у вас не получится реализовывать сколько-нибудь сложные проекты с базами данных.
После этого читайте:
http://www.yiiframework.com/doc/guide/1 ... tabase.arr
Если после прочтения будут вопросы - пишите.
http://ru.wikipedia.org/wiki/%D0%9D%D0% ... 0%BC%D0%B0
При чём обязательно прочитайте и ПОЙМИТЕ все 6 нормальных форм и две дополнительные формы. Без этого у вас не получится реализовывать сколько-нибудь сложные проекты с базами данных.
После этого читайте:
http://www.yiiframework.com/doc/guide/1 ... tabase.arr
Если после прочтения будут вопросы - пишите.
Конференция: yii@conference.jabber.ru
Re: несколько категорий у новости и выбор новостей из 1 кате
Спасибо за статью.
Я так понял что правильней будет сделать еще одну таблицу, в которой будут храниться айди статьи и айди категории для этой статьи?
Тогда встает вопрос как обновлять эти данные? Допустим сначала ввели
Потом вдруг потребовалось у этой статьи изменить айди категории на 4, 5, 6, 7, 8.
Просто удалить все записи из БД с айди этой статьи и заново добавить только с новыми айди категории будет правильно?
Я так понял что правильней будет сделать еще одну таблицу, в которой будут храниться айди статьи и айди категории для этой статьи?
Тогда встает вопрос как обновлять эти данные? Допустим сначала ввели
Код: Выделить всё
article_id category_id
1 1
1 2
1 3
Просто удалить все записи из БД с айди этой статьи и заново добавить только с новыми айди категории будет правильно?
Re: несколько категорий у новости и выбор новостей из 1 кате
* из промежуточной таблицы. Можно удалять не все, а только WHERE category_id NOT IN (4,5,6,7)rem писал(а):Просто удалить все записи из БД с айди этой статьи и заново добавить только с новыми айди категории будет правильно?
p.s. Посмотрите пример демо-блога - там решение (Post - Tag) ближе к Вашему первому варианту.
...
Re: несколько категорий у новости и выбор новостей из 1 кате
Всем спасибо, теперь разобрался
Re: несколько категорий у новости и выбор новостей из 1 кате
Чувак здорова!
Код рабочий есть реализации категорий?
так же столкнулся с такой проблемой.
Код рабочий есть реализации категорий?
так же столкнулся с такой проблемой.
-
- Сообщения: 1
- Зарегистрирован: 2014.04.06, 19:54
Re: несколько категорий у новости и выбор новостей из 1 кате
$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 думаю поймет
$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 думаю поймет
- Вложения
-
- index.rar
- (856 байт) 169 скачиваний