[英]Select multiple items from mysql database based on checkboxes using PHP?
[英]Select items that may be related (like: for 'orange', give 'bread') from MySQL database using PHP
我有一個系統,我必須選擇“類似”的記錄。 想象一個包含大量產品列表的數據庫,當用戶輸入產品的部分名稱時,產品列表會顯示為他正在搜索的產品的建議 。 這些產品也有較長的描述字段。
我認為這不是關於WHERE product_name LIKE '%entered_string%'
查詢。 邏輯類似於Stack Overflow可能使用的一個邏輯:當你問一個問題時,它會提示你可能已經有你的答案的問題和類似的問題 ,兩者顯然都使用一種方法來推導我想從我的問題問題標題/內容和搜索數據庫,顯示結果。
我只是想知道它是否可以用PHP完成並使用MySQL作為數據庫。
示例:輸入food
應該給我們1kg oranges
, bread
和cookies
。 這兩者都有類似的東西,可以幫助他們以編程方式相互鏈接。
有很多方法可以處理這種情況 。 但我認為直接就是每個項目都有多個關鍵字/標簽 。 因此,當用戶輸入時,您不會 搜索項目表 ,您應該搜索映射的關鍵字並根據搜索加載相關項目。
如果要顯示類似產品,則需要將該信息放入數據庫中。 因此,為食品制作一個類別,並將每種食品分配到該類別。 這樣您就可以輕松選擇類似的產品。 沒有其他有效的方法可以做到這一點
所以你的數據庫:
categories:
|id|name
1 fruit
2 Cars
Products
|id|name|category_id
1 apple 1
2 Ford focus 2
你可以這樣選擇:
SELECT `name`,`id` FROM `products` WHERE category_id = 1;
另一種方式(如評論中所示)是標簽
Products
|id|name|tags
1 apple "fruit food delicious"
2 Ford focus "Car wheels bumper"
最好的方法是在標簽上使用全文搜索:
SELECT * FROM `products` WHERE MATCH(tags) AGAINST ('fruit')
確保標簽上有全文索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.