+ -
当前位置:首页 → 问答吧 → zend分页代码,与大家分享

zend分页代码,与大家分享

时间:2008-08-22

来源:互联网

1、分页类Pagination.php,最好是把这个类放在Zend目录下




2、在indexController.php中的indexController Function里面调用:
require_once 'Zend/Pagination.php';
$Users = new Users();

//$rows = $Users->getAdapter()->fetchOne("select count(*) from users where `role`!='admin'"); //recorde count
$rows = $Users->fetchAll("`role`!='admin'")->count(); //查询记录总数
$rowsPerPage = 5; //perPage recordes
$curPage = 1;
if($this->_request->getParam('page'))
{
$curPage = $this->_request->getParam('page');
}
//search data and display
$this->view->users = $Users->fetchAll("`role`!='admin'",'id desc',$rowsPerPage,($curPage-1)*$rowsPerPage)->toArray();
$Pager = new XY_Pagination($rows,$rowsPerPage);
$this->view->pagebar = $Pager->getNavigation();



3、在view中调用分页更简单了。


或者在smarty模板情况下


不过在此也要感谢以前的老前辈门,我是在他们的基础上修改了一部分的。如有疑问,QQ:258067823,另外如有更好的分页类请大家共享出来。

作者: chinaz5   发布时间: 2008-08-22

为了更加美观,大家可以把最后一页数字后边的分隔符去掉了,将如下代码:

while ($pageStart _currentPage)
{
$navigation .= "$pageStart".$this->_splitString;
}
else
{
$navigation .= 'createHref($pageStart)."\">$pageStart".$this->_splitString;
}
$pageStart++;
}

改成

while ($pageStart _pageCount){ //去掉最后一页数字后边的分隔符
$this->_splitString = " ";
}
if($pageStart == $this->_currentPage)
{
$navigation .= "$pageStart".$this->_splitString;
}
else
{
$navigation .= 'createHref($pageStart)."\">$pageStart".$this->_splitString;
}
$pageStart++;
}

作者: chinaz5   发布时间: 2008-08-22