目前,我有一个系统集,可根据控制面板中设置的过滤器显示数据库中的产品。
它像这样循环:
np.mean(a <=4)
除加载时间外,此方法正常。因为它必须使用搜索项遍历每个过滤器的所有产品,所以所涉及的时间只会随着后端添加的每个过滤器而变得更高。
我的问题:是否有一种较小的方式可以将任何数组的过滤器写入一个mysql语句?像这样:
1. Begin loop
2. Pick Filter
3. Search product database for product matching the filter AND search term
4. Return a table row of products matching these terms
5. End Loop
我需要这个的另一个原因是因为它目前正在重复产品行。虽然我用javascript清楚地隐藏了双打,但保持这样的情况并不是很好。
目前,这是正在使用的代码。如果有人能提出任何关于如何做到这一点的最佳方式的建议,我全都耳朵。
SELECT FROM products Where A line matches one of the array of filters AND search term?
我编辑过包含一个非常快速的模拟我正在使用的代码。
答案 0 :(得分:0)
将过滤器保存在数组中。然后使用循环来制作sql stament。像这样:
$query= "SELECT * FROM products ";
$filters= 'Where '; //Sets a varible for fileters.
foreach($filters as $key=$value) //Loop threw each filter
{
$filters.= $key . '= ' . $value . 'AND ';
}
rtrim('AND '); //Remove extra 'AND' from end of filters string
$query.= $filters;
现在,您必须根据过滤器的存储方式调整代码。并且rtrim()可能需要tweeking。