2013-03-06 137 views
1

我想開發我的網站,需要一些支持。所以我的網頁搜索產品的信息並返回一個合適的結果。當用戶通過搜索框中的關鍵字或產品標題進行搜索並提交查詢,但現在使用獲得的結果列表,我想要一個過濾器搜索用戶可以根據價格,品牌,類別等如何改進/過濾搜索結果從MySQL數據庫使用PHP?

我有mysql數據庫的兩個表來過濾他們的搜索結果 1:產品的詳細信息的列 的productid,標題,描述,品牌,類別,價格 2:product_image productid,imageid,imagename,image

請幫助我怎麼樣,我應該從這個過程開始。我已經看過網絡,他們是多個建議腳本使用,但我想用最簡單的方法,因爲我是所有這些新手。你可以建議任何與此主題相關的東西。謝謝你:)

只是爲了讓你知道,對於單個搜索框我使用了下面的代碼。

$query= " 
    SELECT * 
    FROM `product_info` 
    WHERE `title` LIKE '% ".$search_name." %' 
    OR `title` LIKE '% ".$search_name."' 
    OR `title` LIKE '".$search_name." %' 
    OR `title` = '".$search_name."'"; 

    $query_run=mysql_query($query); 


    if(mysql_num_rows($query_run)>=1) 

    { 
     echo'Showing '.mysql_num_rows($query_run).' results for items with "'.$search_name.'" in the title:'; 

//the result is displayed in the table format. 

} 
+0

爲什麼不在SQL中添加'AND AND BETWEEN 0 AND 200'? – 2013-03-06 22:38:36

+0

對第二個查詢使用AND。 – 2013-03-06 22:39:40

+0

「SELECT * FROM'Product_info'WHERE'title'LIKE'%」。$ search_name。「%'AND'price'>'150'and'brand'LIKE'%'。$ brand_name。」%' or are你問如何動態修改一個查詢字符串,取決於選擇了什麼複選框或下拉菜單? – Brutnus 2013-03-06 22:46:55

回答

5

答案是你不要使用php。有一個數據庫的整個想法是,你運行查詢,以便根據標準從中選擇數據。所以你爲你的查詢建立一個合適的WHERE子句,它將只提取符合用戶請求的標準的行。

+0

謝謝你的回答。所以有什麼建議腳本我應該與? – 2013-03-06 23:07:56

+1

我不確定你的意思是「我應該使用哪個腳本?」。您需要有一種方法讓用戶指定他們希望應用過濾器的屬性(價格,品牌......)。也許你給他們選擇了盒子,這真的取決於你。 – 2013-03-06 23:24:16