繁体   English   中英

从分页搜索结果中建立计数器…?

[英]Building counters from paginated search results…?

我正在创建eBay样式的搜索窗格,该窗格允许用户按特定条件缩小其结果集。 例如:

标签

文学(8)小说(4)英语(4)美国人(3)非小说类(2)

具有该属性的结果数放在方括号中。 最初,我通过将以下代码放入显示结果循环来构建计数器:

if(isset($tags[$row['tags']])) {
    $tags[$row['tags']]++;
} else {
$tags[$row['tags']] = 1;
}

然后,我对结果进行了分页,并且停止了工作-查询仅返回您所在页面的足够数据,因此计数器仅代表该页面上的结果。

谁能建议另一种方法?

您必须对tag, COUNT(*) in <table> GROUP BY tag运行第二个查询,以获取每个标签的总数。

编辑:

检查一下 这是我的新作品,但看起来像您想要的。

使用SELECT SQL_CALC_FOUND_ROWS开始查询,然后使用SELECT FOUND_ROWS();跟踪查询SELECT FOUND_ROWS();

SELECT COUNT(*) FROM books WHERE tagid=$tagid

但是,这将需要另一个查询。 请提供有关您的分页方法的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM