我環顧四周,想知道如何去創建一個相關或類似的帖子來顯示在我的網站上使用PHP & MySQL?如何做到這一點的基本例子是什麼?使用PHP和MySQL創建相關或類似的帖子
回答
使用MySQL全文搜索MATCH (col1,col2,...) AGAINST (expr [search_modifier])
的事情。
假設您的表格爲articles
,您需要查找關於當前帖子標題的相關帖子。這樣做:
SELECT *, MATCH(title, body) AGAINST('$CurrentPostTitle') AS score
FROM articles
WHERE MATCH(title, body) AGAINST('$CurrentPostTitle')
ORDER BY score DESC LIMIT 5
這會給你前5個相關的職位。
但是首先記得要啓用全文搜索該表的列,通過運行該查詢:
ALTER TABLE articles ADD FULLTEXT (title, body);
[編輯]:爲什麼不使用LIKE
:澄清到OP:
因爲它不會給出正確的結果。假設您目前的標題是「1980年的音樂」,並且您希望在其上發佈相關帖子。現在,如果您使用LIKE
,則只會顯示包含「1980年音樂」單詞序列的帖子。但是,如果您使用MATCH ... AGAINST
,則會顯示包含Music OR 1980的帖子。此外,同時包含Music和1980的帖子將顯示在Top上,因爲它會爲每個結果提供一個SCORE
,並且我們按該分數排序。我希望這一點很清楚。
[編輯]:2:
如果你有類別,你可以在SQL查詢where clause
添加AND Category = '$CurrentCategory'
獲得更具體的結果。
[編輯]:3:OP不能使用全文:
如果您不能使用全文(出於某種原因),則可以只顯示來自同一類別的5分隨機的帖子。由於他們是在同一類別中,他們已經在某種程度上至少涉及:
SELECT *
FROM articles
WHERE Category = '$CurrentCategory'
LIMIT 5
編輯語法:改變LIMTI在MySQL代碼
我可以使用LIKE而不是FULLTEXT嗎? – leftout 2010-08-29 04:01:10
@leftout,我已經更新了答案。 – shamittomar 2010-08-29 04:10:17
但是,如果我不能使用FULLTEXT搜索抱歉所有的問題。 – leftout 2010-08-29 04:14:38
- 1. 使用MYSQL和PHP循環發佈帖子和相關注釋
- 2. 使用PHP和MySQL顯示與帖子相關的評論
- 3. Wordpress用PHP創建帖子
- 4. 在php中創建相關的帖子腳本 - Not Wordpress
- 5. 使用創建WordPress的帖子類型
- 6. PHP/MYSQL創建類似文章類型腳本(類似圖像)
- 7. 複雜的MySQL查詢相關的用戶和帖子
- 8. 使用cforms創建帖子?
- 9. 創建使用PHP和MySQL
- 10. 爲帖子創建類別
- 11. 關聯自定義帖子類型與帖子或用戶
- 12. 類似的帖子在rails
- 13. 如何選擇相關帖子(與Facebook的牆相似)?
- 14. 只顯示相關的類別或頁面帖子WordPress的
- 15. 如何使用動態鏈接創建類似Twitter的提要帖子視圖?
- 16. MySQL&PHP - 創建多個父子關係
- 17. 在PHP和MySQL中顯示我的帖子以及關注者帖子
- 18. 在wordpress中創建相關的帖子部分
- 19. 創建Wordpress插件頁面,類似於帖子頁面
- 20. 使用PHP和MySQL創建基於標記的相關鏈接功能
- 21. 「模糊」帖子標籤和帖子標題搜索mysql和php
- 22. 相似的子類
- 23. 創建相關的類
- 24. 獲取2帖子類型相關的帖子同樣的分類
- 25. PHP和MySQL的新帖子通知
- 26. PHP mySQL RLIKE類似的擴展+或 -
- 27. 關於使用PHP和MySQL創建社交網絡的教程?
- 28. 使用mysql查詢創建動態類別和子類別
- 29. 在MySQL和PHP中創建FRIEND關係
- 30. CakePHP - 嘗試通過與主要帖子和創建日期共享的標記相關來訂購帖子
你需要更具體的限制。你有什麼樣的數據,你如何定義一個「類似的職位」? – casablanca 2010-08-29 03:52:20
@casablanca我有標題,類別和帖子,標題和正文內容,如果這是你正在採取的? – leftout 2010-08-29 03:56:50