1:在models里面写一个模型:page_model.php
class Page_model extends CI_Model{
function page($tablename,$per_nums,$start_position){//传入3个参数,表名字,每页的数据量,其实位置 $this->db->order_by('aaddtime','desc'); $this->db->limit($per_nums,$start_position); $query=$this->db->get_where($tablename,array('ashow'=>'推荐')); $data=$query->result(); $data2['total_nums']=$this->db->count_all($tablename); $data2[]=$data; //这里大家可能看的优点不明白,可以分别将$data和$data2打印出来看看是什么结果。 return $data2; } }2:在controller里面:
//制作分页:
$page_num = '3';//每页的数据 $this->load->model('Page_model'); $data= $this->Page_model->page('ci_admin',$page_num,$this->uri->segment(3));//当加载model想上传多个数据的时候,这个时候:$data= $this->Page_model->page('ci_admin',$page_num,$this->uri->segment(4),$id);
$total_nums=$data['total_nums']; //这里得到从数据库中的总页数 $data['query']=$data[0]; //把查询结果放到$data['query']中 $this->load->library('pagination'); $config['base_url'] = $this->config->base_url('admin.php/Admin/index');//路径变为:$config['base_url'] = $this->config->base_url("admin.php/Admin/index/{$id}”);
//这也是做分类分页需要加的,$id是为获取的分类id;
$config['total_rows'] = $total_nums;//总共多少条数据
$config['per_page'] = $page_num;//每页显示几条数据 $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>';//需要加$config['uri_segment']=4;
$this->pagination->initialize($config); $this->load->view('admin/index',array('data'=>$data['query']));3:在view视图里面:
分页的样式代码:
<style>
#pagelist{position:relative;lelft:360px;top:0px};
//这是讲代码显示在你想显示的位置;
#pagelist ul li { float:left;border:1px solid #e0691a; height:20px; font-weight:bold; line-height:20px; margin:0px 2px; list-style:none;} #pagelist ul li a, .current { background:#FFB27A; display:block; padding:0px 6px; font-weight:bold;} </style>分页的输出代码:
<div id="pagelist">
<ul><?php echo $this->pagination->create_links();?>
</ul>
</div>