我有以下疑问:
$this->select()
->where("`name` LIKE ?",'%'.mysql_escape_string($name).'%')现在我有了Zend_Paginator代码:
$paginator = new Zend_Paginator(
// $d is an instance of Zend_Db_Select
new Zend_Paginator_Adapter_DbSelect($d)
);
$paginator->getAdapter()->setRowCount(200);
$paginator->setItemCountPerPage(15)
->setPageRange(10)
->setCurrentPageNumber($pag);
$this->view->data = $paginator;正如您所看到的,在没有$paginator->getAdapter()->setRowCount(200);之前,我正在使用$this->view->data = $paginator将数据传递给视图。我可以确定是否有数据,我对数据的含义,查询是否有一些结果,因此如果查询有一些结果,我会向用户显示结果,如果没有,我需要向他们显示一条消息(No results!)
但此时此刻,我不知道如何确定这一点,因为count($paginator)因为$paginator->getAdapter()->setRowCount(200);而不再工作,而我之所以使用它,是因为Zend_Paginator计算页码大约需要7秒。
那么,我如何才能找到我的查询是否有结果呢?
发布于 2010-06-14 05:10:43
为什么你要setRowCount()到一个神奇的数字呢?
在大多数情况下,Z_P应该自动获得正确的数字(在内部,通过一个子查询)。如果子查询花费时间太长,您可以尝试构建自己的Zend_Db_Select来执行计数,并将其传递给setRowCount()。
https://stackoverflow.com/questions/3033417
复制相似问题