Каква е магията с етикетите?

djman

Registered
Имам публикация. Тя има етикети (тагове, ключови думи) - как да ги запиша в базата данни така, че после като избера един етикет (пр. view.php?key=етикет) - да се покажат всички публикации с този етикет?

Гледах как е направено в wordpress - честно казано, не разбрах, и все още се чудя - как... :roll:
 
нова таблица и после в случая тя ще се казва tags а таблицата примерно за новини казва се news
Код:
//таблица
CREATE TABLE tags (
tag_id mediumint(8) UNSIGNED NOT NULL auto_increment,
tag_text varchar(100) DEFAULT '' NOT NULL,
news_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, //ID На новина
PRIMARY KEY tag_id(tag_id, news_id)
);
//SQL заявка
SELECT t.* FROM news n, tags t WHERE n.news_id = t.tag_id and tag_text = '$tag_text' LIMIT 1
// $tag_text  ti e ?key=...
Така записваш в едната таблица таговете и ID на новината после търсиш в таговете за да извадиш новината горе съм ти дал пример. Става малко дълго ще се записват думи по повече от един път но за сега т'ва се сещам
 
С още една таблица, където ще записваш релациите между двете таблици.
Тоест
CREATA TABLE post_tags (
`id` INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`post_id` INT(5) NOT NULL,
`tag_id` INT(5) NOT NULL
);
 

Back
Горе