Всех в прошедшими.
Срочно нужен алгоритм по которому одну статью можно отнести к разным категориям.
Сейчас это выглядит так:
- Создаем категорию.
- Создаем статью и относим эту статью к категории.
Т.е. в таблице article есть колонка cid в которой лежит id категории.
Я могу сделать вида: в таблице article в колонке cid будут id категорий через запятую. Например, 1,2,15,. Но тогда встает вопрос выборки
Код:Кто знает, подскажите.$cat = $_GET['cat'] . ","; SELECT id FROM article WHERE cid LIKE '%$cat%'
- 09.01.2013 09:44
- 09.01.2013 10:07
Можно сделать таблицу связку, так например связываются теги, но и это подойдет. Т.е.
id id_article id_cat
1 1 2
2 1 3
3 2 2
4 2 5
1 статья относится к 2 и 3 категории. 2 статья к 2 и 5. - 09.01.2013 10:16
- Регистрация: 24.10.2012
- Сообщений: 78
- Репутация: 7
Самый удобный способ это дополнительные таблицы
- 09.01.2013 10:20
Я правильно Вас понял, запрос будет таким?
Код:SELECT a.id FROM article AS a LEFT JOIN link AS l ON (a.id=l.id_article) WHERE l.id_cat='$_GET['cat']'
- 09.01.2013 11:52
Последний раз редактировалось cOAPerator; 09.01.2013 в 11:56.
- 09.01.2013 12:06
одним запросом отбираем нужные статьи.
Не совсем понял про explode.
Есть страница (статья), она относится к разным категориям (1,2,15).
Пользователь переходит в категорию id которой, например 2, т.е. $_GET['cat']==2
Вариант SELECT a.id FROM article AS a LEFT JOIN link AS l ON (a.id=l.id_article) WHERE l.id_cat='$_GET['cat']' будет работать.
А как будет выглядеть предложенный Вами вариант? - 09.01.2013 15:19
примерно так:
get_echo_cat($id_cat){$result = mysql_query("SELECT * FROM `таблица_с_категориями` WHERE `id_cat`='$id_cat'");}
$myrow = mysql_fetch_array($result);
return $cat_name;
$categ = explode(",", $myrow['categ']);
for ($i = 0; $i <= 7; $i++) {
echo get_echo_cat($categ[$i]);
} - 09.01.2013 15:51а откуда этот массив взялся?$myrow['categ']
- 09.01.2013 16:01
- 09.01.2013 16:08
т.е. сначала я возьму из БД список категорий
потом из $myrow['categ'] создам массив
в цикле буду вызывать функцию, которая сделает запрос в БД и вернет мне категорию
и так пока строка не кончится?
в Вашем случае ограничение до 8 категорий включительно.
не, по моему это будет очень нагружать сайт.
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Алгоритм грабера | Web программирование | 12 | 08.05.2012 17:22 |
Дубли разделов, удаление из индекса | Вопросы от новичков | 2 | 21.01.2012 17:23 |
Рекомендации по оптимизации разделов сайта | Дайджест блогосферы | 0 | 10.04.2011 19:27 |
Как работает алгоритм АГС | Дайджест блогосферы | 0 | 24.04.2010 14:08 |