Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用codeigniter创建查询结果过滤器_Php_Search_Codeigniter_Filter - Fatal编程技术网

Php 使用codeigniter创建查询结果过滤器

Php 使用codeigniter创建查询结果过滤器,php,search,codeigniter,filter,Php,Search,Codeigniter,Filter,我试图在codeigniter中创建一个查询过滤系统。基本上,在一个特定的查询中,我希望能够发送一个由主查询返回的值列表(处理不同站点上的待售商品,例如价格和网站),将它们输出到我的侧栏,然后能够通过侧栏中的值向下钻取结果。(thefind.com是我尝试做的一个很好的例子) 我一整天都在想到底该怎么做,但运气不好。如果有人能把我推向正确的方向,我将不胜感激。另外,我正在使用DMZ datamapper面向对象的代码点火器扩展库,所以我认为这可能有助于使它变得更简单?如果我正确理解您的问题,这可

我试图在codeigniter中创建一个查询过滤系统。基本上,在一个特定的查询中,我希望能够发送一个由主查询返回的值列表(处理不同站点上的待售商品,例如价格和网站),将它们输出到我的侧栏,然后能够通过侧栏中的值向下钻取结果。(thefind.com是我尝试做的一个很好的例子)


我一整天都在想到底该怎么做,但运气不好。如果有人能把我推向正确的方向,我将不胜感激。另外,我正在使用DMZ datamapper面向对象的代码点火器扩展库,所以我认为这可能有助于使它变得更简单?

如果我正确理解您的问题,这可能比您想象的要简单。将每个过滤器类别和值(即价格、金额)看作可以在“where”子句中使用的key=>value对。如果在第一次查询中根据初始条件选择all,则当用户添加筛选器时,您只需根据所选内容添加一个“where”子句,然后再次运行查询。这就是我使用db所做的。如果您要从各地采集数据,为什么不将完整的数据集存储在数据库中的临时表中,然后对其运行查询?

好的,部分回答了,谢谢。我想我的主要问题是如何在CodeIgniter中构造这种类型的查询。因为对于每一组结果,都会有一组唯一的过滤器需要返回。因此,我试图了解根据当前查询动态在侧栏中创建过滤器的最佳方法。当你说“唯一的过滤器集”时,你知道它们将是什么,或者它们可能是什么吗?如果您希望有一组有限的初始结果,每个结果都有一组已定义的筛选器,则可以将所有这些结果存储在配置文件中,然后使用简单的switch语句根据初始结果返回正确的筛选器集。想想亚马逊;过滤器对于每个产品类别都不同,但对于该类别是预定义的。这更接近你需要的吗?