从分页搜索结果构建计数器......?

时间:2010-03-23 16:54:54

标签: php mysql search

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

  

代码

     

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

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

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

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

有人可以提出另一种方法吗?

2 个答案:

答案 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

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