php - 使用 Ajax 在过滤器中显示结果数的最佳方法

标签 php jquery mysql sql ajax

首先,快速解释一下我目前的情况:

我的网页包含(大约 40 个已分类的)过滤器列表和 400 多种产品列表。

我使用 Ajax 获取产品列表。默认情况下会显示 20 个产品,但当您滚动到底部时会添加更多产品。用户可以通过单击所需的选项来过滤结果。这就像一个简化的ebay 。唯一的区别是,当我单击过滤器时,我不会重新加载页面,而是使用 Ajax 来获取我的产品。

现在,eBay 在每个过滤器选项旁边都有这些数字,显示单击该选项后您将获得的结果数量。我的问题是,显示这些数字的最佳方式是什么?

我的方法是为每个过滤器选项运行一个 SQL 查询(SELECT COUNT(id) FROM sometable WHERE filter='something')。然而,这意味着我必须在加载时运行大约 40 个查询,并且每次用户单击一个选项(使用 Ajax)。这看起来服务器负载很重,还是我错了?

最佳答案

我将采用第一种方法,但现在我使用 UNION 查询来获取所有计数。这样我只需运行 1 个查询,而不是为每个过滤器运行 1 个查询。

关于php - 使用 Ajax 在过滤器中显示结果数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22219554/

相关文章:

PHP/MYSQL : Function mysqli_query() doesnt work for some reason

javascript - 多次滑动函数调用

javascript - 从服务器文件持续更新 HTML 元素

mysql - 如何根据Mysql中的唯一id获取每个值的计数

mysql - "one-to-many database"中的数据库结构复制

mysql - 表示A表的id可以设置在B表的foo和bar列中时的Laravel模型

php - 如何在php中为数组中的每个元素重复一个函数而不超时

php - 没有 URL 重写的元刷新

JQuery 无法更改字体大小

php - 如何使用 PHP 验证下拉列表