2010-06-29 33 views
0

我試圖在codeigniter中創建一個查詢過濾器系統。基本上,在一個特定的查詢中,Id喜歡能夠發送主查詢返回的值列表(使用不同站點上銷售的商品,例如價格和網站),然後將它們輸出到我的側邊欄,以及然後能夠通過邊欄中的值深化結果。 (thefind.com是我試圖做的一個很好的例子)。用codeigniter創建查詢結果過濾器

我一直試圖把我的頭圍繞着整天如何做到這一點,但沒有運氣。如果有人能把我推向正確的方向,那將是非常感謝。附:即時通訊使用DMZ datamapper面向對象的代碼點火擴展庫,所以我認爲這可能有助於使它更容易?

回答

0

如果我正確理解你的問題,這可能比你想象的要簡單。將每個過濾器類別和值(即價格,金額)視爲您可以在'where'子句中使用的key =>值對。如果在第一個查詢中,您根據初始條件選擇所有條件,那麼當用戶添加過濾器時,只需根據他們選擇的內容添加「where」子句並再次運行查詢。這就是我會用db做的。如果在你的情況下,你從全地方獲取數據,爲什麼不把完整的數據集存儲在你的數據庫的臨時表中,然後對其執行查詢?

+0

那麼雅部分回答謝謝。我想我的主要問題是如何構建這種類型的代碼點火器查詢。因爲對於每組結果,都會有一組需要返回的過濾器。所以我試圖理解動態地在邊欄中創建過濾器的最佳方式,基於當前查詢 – thrice801 2010-06-29 22:54:51

+0

當你說「獨特的一組過濾器」時,你知道他們會是什麼或者他們會是什麼嗎?如果您希望獲得一組有限的初始結果,並且每個都有一組定義的過濾器,則可以將所有這些結果存儲在配置文件中,然後使用簡單的switch語句根據初始結果返回正確的過濾器組。想想亞馬遜;每個產品類別的過濾器都有所不同,但是爲該類別預先定義。 這更接近你所需要的嗎? – musoNic80 2010-06-30 06:21:33