使用CodeIgniter PHP返回多维数组的唯一值

时间:2009-07-18 14:22:41

标签: php arrays codeigniter

我正在开发一个房产租赁网站。搜索结果页面将包含属性结果列表。我打算重新定义结果,比如城镇,国家,房产类型等。

例如,假设用户搜索“法国”。所有相关属性都将返回并显示在列表中。

但是,我还需要重复使用此数组,以便仅显示搜索结果数组中的唯一城镇名称。例如蒙彼利埃,里昂,雷恩,尼斯等。这个想法是当用户点击'Nice'时,只有'Nice'属性会返回。我还想显示该镇有多少房产。

关于我想要实现的最接近的例子。 http://www.miaandmaggie.com/dog-collars-leashes.html

如何使用我的搜索数组来显示搜索的独特城镇?

非常感谢!中号

2 个答案:

答案 0 :(得分:0)

我发现了一些事情:

  • 对于国家/地区参数,只需直接传递国家/地区代码,而不是从多个国家/地区中选择很多if-else块。
  • $Q->result_array()$data不一样吗?除非您期望在循环中包含条件,否则您不需要循环。
  • dam也是正确的,您需要在查询中包含2个(或可能更多)条件才能进一步过滤结果。
  • 我也注意到你在一张桌子上查询。您可能希望为国家/地区,区域,属性类型,城镇等创建单独的表,以规范化架构。

答案 1 :(得分:-1)

你需要像sql语句中那样的双重条件

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

我不知道你的$this->db object是如何运作的,但是根据你的问题我假设你打电话

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

这会覆盖你上面的一些行:

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

最后的结果是你不仅在里昂获得法国的所有物业

我认为您必须了解$this->db->where的工作原理并找出为sql语句指定第二个条件的方法