[英]Select data from DB based on user input
我通常非常擅長從數據庫中檢索數據,但是我已經停滯不前了。
我有一個搜索欄,可將用戶定向到另一頁,以在第一頁上顯示他們搜索的產品。 我的網站允許用戶搜索他們所在地區的外賣店。 在第二頁上,我有一個下拉列表,該列表用於搜索該區域的不同食物類別。
我的問題是我幾乎有30種食品類別,並不是所有區域都為30種食品類別中的每一個提供外賣,我試圖僅顯示該區域具有的食品類別,而不顯示其他類別。 到目前為止,我的查詢顯示了所有30個類別,無論該區域實際有多少個類別,並且當我將WHERE設置為restaurant_id以外的任何類別時,該類別都不再顯示。
我嘗試使用內部聯接2/3表來使此查詢有效,但沒有任何樂趣。
Delivery_Pcode Tbl
1 Del_code_id
2 Restaurant_ID
3 Pcode
4 Del_Price
Rest_Category tbl
1 CategoryID
2 Cuisine_category
3 Category_img
Rest_Details Tel
1 Resturant_ID
2 Resturant_name
3 City_name
4 Cat_ID
詢問
$get_cats = "SELECT * FROM Rest_Category
INNER JOIN Rest_Details
ON Rest_Category.CategoryID = Rest_Details.Cat_ID
INNER JOIN Delivery_Pcode
ON Delivery_Pcode.Restaurant_ID = Rest_Details.Resturant_ID
WHERE Delivery_Pcode.Pcode= $searchq";
我試圖從表中選擇所有Pcode等於用戶輸入代碼的表。 每個餐廳交付的郵政編碼都保存在Delivery_Pcode.Pcode中,$ searchq在頁面頂部定義為輸入的郵政編碼$ _post值。
我嘗試過:WHERE Restaurant_name = $ rest_name(也已定義)WHERE Restaurant_name = $ rest_name和Restaurant_id = $ rest_id(也已定義)
我不知道我是否想深入了解這個問題,並且有一個非常簡單的方法(我傾向於這樣做),或者我需要刪除查詢並重新開始...,建議或指導很多贊賞。
我知道查詢有效,因為它填充的只是導致我出現問題的查詢。
您可以嘗試添加引號
"SELECT * FROM Rest_Category
INNER JOIN Rest_Details
ON Rest_Category.CategoryID = Rest_Details.Cat_ID
INNER JOIN Delivery_Pcode
ON Delivery_Pcode.Restaurant_ID = Rest_Details.Resturant_ID
WHERE Delivery_Pcode.Pcode= '$searchq'";
或(在適當的輸入消毒之前)
"SELECT * FROM Rest_Category
INNER JOIN Rest_Details
ON Rest_Category.CategoryID = Rest_Details.Cat_ID
INNER JOIN Delivery_Pcode
ON Delivery_Pcode.Restaurant_ID = Rest_Details.Resturant_ID
WHERE Delivery_Pcode.Pcode= '" . $searchq ."';";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.