【发布时间】:2014-06-26 01:00:59
【问题描述】:
我有一个需要实现分页的项目。我尝试搜索各种时间,但找不到任何令人满意的结果。这就是为什么我在这里发布我的问题 -
这是控制器文件 IndexController.php
这是我的 indexAction,我正在尝试在其中实现分页 -
public function indexAction() {
$this->_helper->layout->setLayout('layout');
//pagination
$page = $this->_request->getParam('page');
if (empty($page)) {
$page = 1;
}
$paginator = $this->_objCoupon->getOnePageOfOrderEntries($page);
$this->view->paginator = $paginator;
//pagination ends
$coupons = $this->_objCoupon->getAllcoupon();
$storage = new Zend_Auth_Storage_Session();
$dataUser = $storage->read();
$id = $dataUser->id;
//$id = $storage->id;
$arrCoupon = array();
if(count($coupons) > 0) {
$i= 0;
foreach($coupons as $couponArray) {
$arrCoupon[$i]["pid"] = $couponArray['id'];
$arrCoupon[$i]["title"] = $couponArray['partner_name'];
$arrCoupon[$i]["img"] = $couponArray['companylogo'];
$arrCoupon[$i]["value"] = $couponArray['coupon_value'];
$i++;
}
}
$this->view->arrCoupon = $arrCoupon;
$this->view->selectedcheckbox = $this->selectCheckboxes;
$this->view->id = $id;
$this->view->asd = 'all';
}
这是模型文件CouponModel.php
这是我的模型函数
public function getOnePageOfOrderEntries($page=1) {
//$paginator = $this->_coupon->getAllcoupon();
$query = "SELECT * FROM rechargecoupon WHERE online_offer = 'N' ORDER BY id ASC";
$paginator = new Zend_Paginator(
new Zend_Paginator_Adapter_DbTableSelect($query)
);
$paginator->setItemCountPerPage(20);
$paginator->setCurrentPageNumber($page);
return $paginator;
}
鉴于我现在只是想打印分页器变量值。
这是查看文件 index.phtml
<?php if (count($this->paginator)): ?>
<?php print_r($this->paginator); die; ?>
当我执行这个文件时,我收到“Class Zend_Paginator_Adapter_DbTableSelect not found 错误”。
【问题讨论】:
-
你能告诉我你的看法吗?你的控制器和视图的文件名是什么?
-
我希望
Zend_Paginator*的文档能够解决这个问题。我想他们的目的是在这个查询中添加一个OFFSET?另外,请编辑您的问题以解释未找到 哪个 类。 -
@Daan--请再次检查源代码
-
@Pankaj
Zend_Paginator在我看来比编写自己的分页更难使用。
标签: php zend-framework pagination