2013-10-18 66 views
0

我需要爲我的文章創建tag system。現在我有這個inputcomma separated使用PHP MySql的標籤系統

trance, house, electronica, dubstep, club 

現在我需要INSERT這個標籤要Tags表是這樣的:

ID  NAME    ArticleId 
1   trance    10 
2   house    10 
3   electronica   10 
4   dubstep    10 
5   garage    10 

以及如何FetchINSERTDELETEUPDATE這個標籤?

+1

爲什麼不把標籤保留在一行而不是所有標籤分開,使用LIKE的掃描速度會比較慢,但標籤的搜索次數比一般文章的要少 – Kristijan

+1

因爲如果您需要搜索標籤:'SELECT * FROM標籤 WHERE name ='trance';'越快越好'SELECT * FROM標籤 WHERE標籤LIKE'%transe%';' – user2715503

+0

@Kris由於數據庫規範化。 – deceze

回答

2

對於FETCH使用Group Contact

SELECT GROUP_CONCAT(NAME) As tags FROM table_name WHERE ArticleId= 10; 

將返回像

trance, house, electronica, dubstep, club 

DELETE使用簡單delete query

DELETE FROM table_name WHERE name = 'trance' 

也爲UPDATE query,你可以使用如下

UPDATE table_name SET name = 'trance' WHERE ID = 1 

編輯

使用INSERT query

foreach($tag as $each_tag) { 

    INSERT INTO table_name (ID, NAME, ArticleId) 
    VALUES (1, '.$each_tag.', 10); 
} 

以上只是略圖與原密碼。

希望這會幫助你。

+0

感謝如何在'Tags'表中插入'標籤? '取''''刪除''更新'現在工作。 – user2715503

+0

'插入'不工作!我們需要,首先分離標籤,然後使用'foreach' INSERT到表 – user2715503

+0

請參閱我的循環代碼。肯定會爲你工作。 – liyakat