我正在创建eBay样式搜索窗格,允许用户根据特定条件缩小其结果集。例如:
代码
文献(8) 小说(4) 英语(4) 美国人(3) 非小说类(2)
具有该属性的结果数在括号中。最初,我通过将此代码放在显示结果循环中来构建计数器:
if(isset($tags[$row['tags']])) {
$tags[$row['tags']]++;
} else {
$tags[$row['tags']] = 1;
}
然后我对结果进行了分页并停止了工作 - 查询只返回您所在页面的足够数据,因此计数器仅代表该页面上的结果。
有人可以提出另一种方法吗?
答案 0 :(得分:0)
您必须为tag, COUNT(*) in <table> GROUP BY tag
运行第二个查询才能获得每个代码的总数。
修改强>
Check this out。这是一个新的,但它看起来像你想要的。
使用SELECT SQL_CALC_FOUND_ROWS
开始查询,然后使用SELECT FOUND_ROWS();
答案 1 :(得分:0)
SELECT COUNT(*) FROM books WHERE tagid=$tagid
但这需要另一个查询。请提供有关您的分页方法的更多信息。