ci自定义分页功能demo,代码核心来自http://www.cnblogs.com/star-studio/archive/2011/09/27/2193303.html 1. [代码] models public function GetOrderOrigin($options = array()){ // default values $options = $this-_default(array('sor
1. [代码]models
public function GetOrderOrigin($options = array()){
// default values
$options = $this->_default(array('sortDirection' => 'desc'), $options);
// Add where clauses to query
$qualificationArray = array('id','orderno','orderdesc','ordertype','userid','addtime','addressid','orderstatus','paymethod','total');
foreach($qualificationArray as $qualifier)
{
if(isset($options[$qualifier]))
$this->db->where($qualifier, $options[$qualifier]);
}
// If limit / offset are declared (usually for pagination)
// then we need to take them into account
if(isset($options['limit']) && isset($options['offset']))
$this->db->limit($options['limit'], $options['offset']);
else if(isset($options['limit'])) $this->db->limit($options['limit']);
// sort
if(isset($options['sortBy']))
$this->db->order_by($options['sortBy'], $options['sortDirection']);
$query = $this->db->get('orderorigin');
if($query->num_rows() == 0) return false;
if(isset($options['id']))
{
// If we know that we're returning a singular record,
// then let's just return the object
return $query->row(0);
}
else
{
// If we could be returning any number of records
// then we'll need to do so as an array of objects
return $query->result();
}
}
2. [代码]controller
function order()
{
$offset = $this->uri->segment(3);
if (!isset($offset)) {
$offset = 10;
}
$_SESSION['offset'] = $offset;
if ($this->_is_log_in()) {
$this->header();
$this->load->model('orderorigin');
$config['base_url'] = base_url() . 'manager/order/';
$config['total_rows'] = count($this->orderorigin->GetOrderorigin(array('sortBy' => 'addtime', 'sortDirection' => 'desc')));
$config['per_page'] = 10;
$config['full_tag_open'] = '<p>';
$config['full_tag_close'] = '</p>';
$config['first_link'] = '首页';
$config['first_tag_open'] = '<li>';//“第一页”链接的打开标签。
$config['first_tag_close'] = '</li>';//“第一页”链接的关闭标签。
$config['last_link'] = '尾页';//你希望在分页的右边显示“最后一页”链接的名字。
$config['last_tag_open'] = '<li>';//“最后一页”链接的打开标签。
$config['last_tag_close'] = '</li>';//“最后一页”链接的关闭标签。
$config['next_link'] = '下一页';//你希望在分页中显示“下一页”链接的名字。
$config['next_tag_open'] = '<li>';//“下一页”链接的打开标签。
$config['next_tag_close'] = '</li>';//“下一页”链接的关闭标签。
$config['prev_link'] = '上一页';//你希望在分页中显示“上一页”链接的名字。
$config['prev_tag_open'] = '<li>';//“上一页”链接的打开标签。
$config['prev_tag_close'] = '</li>';//“上一页”链接的关闭标签。
$config['cur_tag_open'] = '<li class="current">';//“当前页”链接的打开标签。
$config['cur_tag_close'] = '</li>';//“当前页”链接的关闭标签。
$config['num_tag_open'] = '<li>';//“数字”链接的打开标签。
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$rs = $this->orderorigin->GetOrderorigin(array('sortBy' => 'addtime', 'sortDirection' => 'desc', 'limit' => $config['per_page'], 'offset' => $offset));
$data['rs'] = $rs;
$this->load->view("manager_order", $data);
$this->footer();
} else {
$this->login();
}
}
