Облако тегов

Strelockk

Новичок
Облако тегов

Доброго времени!

Подскажите пожалуйста, как реализуется облако тегов? Как нужно хранить эти теги, как их записывать и как их выводить?
Можно в теории, а можно пнуть по ссылке... Гугл дает несколько ссылок, но ничего конкретного, то на CodeIgniter то вообще просто пара слов, что такое облако тегов...

Заранее благодарен!
 

Духовность™

Продвинутый новичок
Прошу прощения, но топик толком ничего не объясняет...
А если более подробна? Какова структура этих таблиц?
Что должна содержать таблица связи?
должна содержать связи

между тегами и постами
+ смотри ответ Alexandre

Что тебе не понятно?
 

Strelockk

Новичок
Ну сделал я 2 таблицы с постами и тегами, сделал для них таблицу связи с 3 полями Id, post_id, tag_id...
понял как создаются связи в таблице связи(прошу прощения за тавтологию). Как теперь вывести эти теги? Дальше, что не понятно: допустим вывел я теги в виде ссылок, хотелось бы чтобы при клике на тег открывались все посты по этому тегу..
 

zerkms

TDD infected
Команда форума
Как теперь вывести эти теги?
echo

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


sincerely yours, Captain Obvious
 

zerkms

TDD infected
Команда форума
Strelockk
открою тебе страшную тайну, первичным ключом таблицы не обязательно должен быть суррогатный автоинкремент.
в данном случае вполне можно сделать составной PK из двух полей.
 

Духовность™

Продвинутый новичок
не для любой. "ключевым id" в твоей таблице будет уникальный ключ состоящий из двух полей:

Код:
CREATE TABLE `article_tag` (
  `id_article` smallint(5) unsigned NOT NULL,
  `id_tag` smallint(5) unsigned NOT NULL,
  UNIQUE KEY `MY_UNIQUE_KEY` (`id_article`,`id_tag`)
)
 

zerkms

TDD infected
Команда форума
triumvirat
ещё на id_tag добавь индекс, для полноты ощущений :)
 

Strelockk

Новичок
Так-с ... пошел ка я ман по mysql штудировать... Незнал даже, что можно из двух полей уникальный ключ сделать ...
 

zerkms

TDD infected
Команда форума
triumvirat
в прямом. выборки списка статей по id тега как будем делать? :)
 

Духовность™

Продвинутый новичок
ну как-как.. вот так:
Код:
SELECT *
FROM `article` , article_tag
WHERE article.id = article_tag.id_element
AND id_tag =30
а я что-то не так делаю?...

explain вроде все хорошо говорит:
Код:
id  	 select_type  	 table  	 type  	 possible_keys  	 key  	 key_len  	 ref  	 rows  	 Extra
1 	SIMPLE 	article 	system 	PRIMARY 	NULL 	NULL 	NULL 	1 	 
1 	SIMPLE 	article_tag 	const 	UNIQUE 	UNIQUE 	4 	const,const 	1 	Using index
 

zerkms

TDD infected
Команда форума
triumvirat
и тебя совершенно не смущает фуллскан в первой строке EXPLAIN'а?
 

Духовность™

Продвинутый новичок
А.. ну да.. вообще здесь, в данном примере, подойдет не UNIQUE, а PRIMARY

Хм...
Ну а тогда какой смысл в моей таблице UNIQUE? Что-то я забыл зачем он нужен.. zerkms, ты не знаешь?
 
Сверху