回答
您使用的數據庫類型非常重要。例如,對於像MongoDB這樣的事情來說,這樣做會容易得多,但爲了交叉兼容性,這是一個簡單的平坦方法。
選項1: 這裏是一個快速入侵,每個人都會倒下,但我很好。
<?php
$tags = "tag1,tag2,tag3";
$exploded_tags = explode(",", $tags);
foreach($exploded_tags as $elem) {
echo $elem;
}
將它們存儲爲以逗號分隔的標記,並且當您爲標記查詢數據庫時,將它們分解。
選項2:
你的「博客文章」必須以某種方式對數據庫的標識,通過標題爲「我 - 博客 - 後」之稱。所以你會有一個名爲「blog_posts」的表,另一個名爲「tags」。在「標籤」中,您將有一個名爲「post_title」的列。讓我們說你是通過你的網址中的文章的標題,你可以使用去抓住那個標題:
<?php
$post_title = $_GET['post']; // my-blog-post
$post_tags = array("tag1","tag2","tag3");
function insert_tags($title, $tags) {
$query = $database->prepare("INSERT INTO `tags` (`post_title`, `tags`) VALUES(?,?)"); // this Query inserts the post title for each tag to identify
$query->bindValue(1, $title); // injects the title to the column post_title
$query->bindValue(2, $tags); // injects the tag to the column tags
try {
$query->execute(); // executes the above query
} catch (PDOException $e) {
echo $e->getMessage();
}
return 0; // please don't do parenthesis
}
foreach($post_tags as $elems) {
// since the tags are in an array, we need to loop through them
insert_tags($post_title, $elems);
// this function will now insert each individual tag with the title "my-blog-post"
}
有PDO的代碼,所以如果你不使用PDO它仍然是適應mysqli什麼的。現在,一旦你在你的代碼進入,你可以像這樣的東西回憶起來:
<?php
function find_tags($post_title) {
$query = $database->prepare("SELECT * FROM `tags` WHERE `post_title` = ?' ");
$query->bindValue(1, $post_title);
$query->execute(); // getting rid of exceptions for ease. This will execute the query
return $query->fetchAll(); // Because we are fetching 2 if not more rows, we need to tell PDO to fetch everything it found and return it to the function that called it
}
$tags = find_tags($_GET['post_title']); //my-post-title
foreach($tags as $elems) {
echo $elems;
}
此,在大多數情況下,應該工作。 Foreach可能有點矯枉過正,但這是總體思路。讓我知道你是否需要解釋
非常感謝你提供的這個選項,我一定會試試這個,一旦得到結果就回來。再次感謝您 –
它的工作!有效!有效!有效!有效!有效!有效! 選項1做到了一切! :D 非常感謝代碼,我也能夠在每個標籤上添加鏈接。非常感謝,案件關閉。 :) –
- 1. 標籤或標籤?
- 2. 多個標籤
- 3. 多個標籤
- 4. Sonar Checkstyle標籤列出多個標籤?
- 5. Matplotlib中的多個標籤
- 6. 附加標籤或多個標籤XML :: COMPILE :: SCHEMA
- 7. 多標籤和多標籤數據標籤的評估
- 8. 多種多標籤與多標籤
- 9. 標籤一個git用「標籤」標籤
- 10. VB.NET標籤的前面或多個GroupBoxes
- 11. 一個或多個元標籤?
- 12. Facebook多個標籤
- 13. 在多個標籤
- 14. CouchDB多個標籤
- 15. 多個h1標籤?
- 16. 由多個標籤
- 17. 多個標籤,多個
- 18. 如何用Javascript中的視頻標籤替換音頻標籤或用另一個標籤替換標籤
- 19. 「For」中的標籤標籤
- 20. 標籤頁中間的多個面板標籤
- 21. 如何在Beautifulsoup中的新標籤下包裝多個標籤?
- 22. Jekyll標籤有空格或多個詞
- 23. img標籤內的標籤或給背景圖片標籤哪一個更好
- 24. 多個標籤和php上傳
- 25. PHP/MySQL - 如何添加多個標籤
- 26. UIImageView上的多個標籤?
- 27. 標籤上的多個AssociatedControlID
- 28. 的SimpleXML與多個標籤
- 29. JQuery的多個標籤組
- 30. PHP,preg_replace,用標籤替換標籤attr
簡單,例如使用一個表格:ID這樣blog_post_id標籤可以爲一個帖子保留多個標籤 – jewelhuq
標記爲太寬泛。 http://stackoverflow.com/tour – DeDee
認爲多對多的關係。通過鏈接表 – nomistic