2009-07-18 44 views
0

我正在開發一個物業租賃網站。搜索結果頁面將包含屬性結果列表。我打算重新定義結果,例如按城鎮,國家,地產類型等。用CodeIgniter返回多維數組的唯一值PHP

因此,我們假設用戶搜索「法國」。所有相關的屬性將被返回並顯示在列表中。

但是,我還需要重新使用此數組,以便僅顯示來自搜索結果數組的唯一城鎮名稱。例如蒙彼利埃,里昂,雷恩,尼斯等。這個想法是,當用戶點擊'好',只有'好'屬性會返回。我還想顯示該鎮有多少房屋。

最接近我想達到的例子。 http://www.miaandmaggie.com/dog-collars-leashes.html

任何想法如何使用我的搜索數組來顯示搜索的獨特城鎮?

非常感謝!中號

+1

你沒有說明你的代碼有什麼問題。你有錯誤嗎?結果不是你所期望的嗎? – jimyi 2009-07-18 15:53:55

回答

-1

你需要像一個雙重條件在SQL語句中

"... where `country`='France' and `region`='Lyon'" 

我不知道我怎麼你$this->db object的作品,但您的問題的假設,當你調用

$this->db->where('country',$country_code); 

這將覆蓋你在上面做了幾行:

$this->db->where('region',$region); 

and the final resul t是,你得到所有在法國不僅在里昂的屬性

我認爲你必須瞭解如何$this->db->where作品,並找出一種方法來指定第二個條件,你的SQL語句

+0

這不是事實 - CodeIgniter的ActiveRecord允許你多次調用它(它不會覆蓋)。 – jimyi 2009-07-18 15:43:03

0

一對夫婦的事情,我注意:

  • 對於國家參數,只需直接傳遞國家代碼,而不是有很多if-else塊從幾個國家中選擇。
  • 是不是$Q->result_array()$data相同?除非你期望在循環中包含一個條件,否則你不需要循環。
  • dam也是正確的,你需要在查詢中有2個(或可能更多)的條件來進一步過濾你的結果。
  • 我也注意到你正在查詢單個表。您可能需要爲國家,地區,房產類型,城鎮等創建單獨的表格以規範您的模式。