2009-07-18 14 views
0

私はプロパティレンタルのWebサイトを開発しています。検索結果ページには、プロパティ結果のリストが表示されます。町、国、不動産タイプなどの結果を再定義することが私の意図です。CodeIgniterを使用して多次元配列の一意の値を返すPHP

たとえば、ユーザーが「フランス」を検索したとしましょう。すべての相対プロパティが返され、リストに表示されます。

しかし、この配列を再利用して、検索結果配列から一意の町名のみを表示する必要もあります。例えばモンペリエ、リヨン、レンヌ、ニースなどがあります。ユーザーが「ニース」をクリックすると、「ニース」プロパティだけが返されます。私はまた、その町にいくつの不動産があるかを表示したいと思います。

達成したいものに最も近い例です。 http://www.miaandmaggie.com/dog-collars-leashes.html

検索配列を使用してユニークな町を表示するにはどうすればよいですか?

多くの感謝! M

+1

あなたのコードの問題点は何も述べていません。エラーが出ていますか?結果は期待通りではありませんか? – jimyi

答えて

-1

あなたは私がどのようにあなたの$this->db object作品知らないが、あなたの質問から、私はあなたがこの上書き

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

を呼び出すときにすることを前提としてSQL文で

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

のような二重の条件を必要とします上記の行を何回行ったのですか?

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

最終的にはtはあなたがリヨン

だけではなく、フランスのすべてのプロパティを取得することです私はあなたが私がどのように$this->db->where作品を理解する必要があり、あなたのSQLステートメント

+0

これは当てはまりません - CodeIgniterのActiveRecordでは、重複している箇所を呼び出すことができます(上書きしません)。 – jimyi

+0

メモのためにjiimyiに感謝していますが、私は "あなたの$ this-> dbがどのように動作するのか分かりません"と言っていました – damko

+0

とにかく、マイケル・ブラッドリーはwhere節の "AND"条件を指定する必要がありますか? – damko

0

物事のカップルに第二の条件を指定する方法を見つけると思います注目:

  • countryパラメータの場合、いくつかの国から多くのif-elseブロックを選択する代わりに、直接国コードを渡すだけです。
  • $Q->result_array()$dataと同じではありませんか?ループ内に条件を含めることを期待している場合を除き、ループを行う必要はありません。
  • damさらに、結果をさらに絞り込むために、クエリに2つ(またはそれ以上)の条件を設定する必要があります。
  • 私はまた、あなたが単一のテーブルから問い合わせていることに気付きました。あなたのスキーマを正規化するために、国、地域、不動産のタイプ、町などのための別々のテーブルを作成することができます。