/** * 查询数据库数量,计算分页信息 * * @param integer $current 当前页 * @param integer $size 每页多少条 * @param integer [$total] 一共有多少条,不指定就到数据库内查询 * @return * array( * 'total' => (integer), // 一共有多少条数据 * 'size' => (integer), // 每页多少条 * 'from' => (integer), // 本页开始的序号 * 'to' => (integer), // 本页结束的序号 * 'first' => 1, // 第一页 * 'prev' => (integer|null), // 上一页,null说明没有上一页 * 'current' => (integer), // 本页页码 * 'next' => (integer|null), // 下一页,null说明没有下一页 * 'last' => (integer), // 最后一页 * ) */ public function getPageInfo($current, $size, $total = null) { if ($total === null) { $limit = $this->limit; $offset = $this->offset; $order = $this->order_by; $this->order(null)->limit(0)->offset(0); $total = $this->count(); $this->order($order)->limit($limit)->offset($offset); } return \Lysine\cal_page($total, $size, $current); }
/** * 获得分页信息 * * @param integer $size * @param integer $current_page * @param integer $total * @access public * @return array */ public function getPageInfo($current_page, $size, $total = null) { if (!$total) { $old_offset = $this->offset; $old_limit = $this->limit; $old_order = $this->order; $this->offset = $this->limit = $this->order = null; $total = $this->count(); $this->offset = $old_offset; $this->limit = $old_limit; $this->order = $old_order; } return \Lysine\cal_page($total, $size, $current_page); }