网上商店:使用PHP和JQuery进行产品过滤和分页

时间:2015-01-13 23:51:23

标签: javascript php jquery ajax pagination

我正在建立一个网上商店,并希望使用PHP和Jquery制作一些产品过滤器。

最好的方法是什么?例如,我想在价格,特性,品牌,颜色等方面过滤我的产品。我也想使用分页。

过滤本身(使用PHP并在页面中重新加载)不会有任何问题,但是如何在从产品页面返回(历史记录按钮)到类别页面时保留过滤器。

我做过一次的方式:在URL中创建一个哈希值,所以:http://www.domain.com/categoryname/#FILTERcolor=blue&size=1等。 我的Jquery如下:

if(location.hash != ''){
    poststr = location.hash;
    pattern = /^#FILTER/
    if(pattern.test(poststr)){
        ajax('assets/php/ajax/productfilter.php',poststr.replace('#FILTER',''),callbackfunction);
    }
}

当我回到类别页面时,哈希仍然在URL中,因此使用AJAX进行实现。

是否有更好的方法来制作产品过滤器?

1 个答案:

答案 0 :(得分:0)

如果您正在使用jQuery并且正在构建现代网页,那么在用户设置过滤器后,请不要重新加载整个页面。相反,使用AJAX请求来获取结果,当用户选择过滤器时,只使用jQuery更新结果列表而不重新加载页面。您可以向PHP脚本发出AJAX请求并将其传递给过滤器,例如显示结果0到50,将结果返回JSON编码并显示在您的网页上。当用户请求下一页时,您再次执行相同的请求,但告诉它显示结果50到100.您仍然可以将过滤器保存在哈希中,以便用户可以复制和共享带过滤器的链接。