CI 漂亮的分页样式(页码样式)

本文转自:http://blog.csdn.net/lx_96/article/details/51965466

还在为难看的分页发愁吗,下面教你如何用CI编写漂亮的分页

demo:(本人用bootstrap分页样式,你可以根据个人喜好定义自己的class):

一、决定样式的配置:
1.

$config['num_links'] = 2;

放在你当前页码的前面和后面的“数字”链接的数量。比方说值为 2 就会在每一边放置两个数字链接, 就像此页顶端的示例链接那样。


2.

如果你希望在整个分页的周围用一些标签包起来,你可以通过下面这两个参数:

$config['full_tag_open'] = '<ul class="pagination">';起始标签放在所有结果的左侧。可以直接在标签内部加上class标签

$config['full_tag_close'] = '</ul>';结束标签放在所有结果的右侧。


3.

$config['first_tag_open'] = '<li>';第一个链接的起始标签。

$config['first_tag_close'] = '</li>';第一个链接的结束标签。


4.

$config['next_tag_open'] = '<li>';下一页链接的起始标签。

$config['next_tag_close'] = '</li>';下一页链接的结束标签。


5.

$config['prev_tag_open'] = '<li>';上一页链接的起始标签。

$config['prev_tag_close'] = '</li>';上一页链接的结束标签。


6.

$config['cur_tag_open'] = '<li class="active"><a>';当前页链接的起始标签。可以加多个标签(因为当前页会自动屏蔽了a标签需要手动加上,为保持样式一致)

$config['cur_tag_close'] = '</a></li>';当前页链接的结束标签。


7.

$config['num_tag_open'] = '<li>';数字链接的起始标签。

$config['num_tag_close'] = '</li>';数字链接的结束标签。


8.

如果你想为分页类生成的每个链接添加额外的属性,你可以通过键值对设置 "attributes" 参数:

// Produces: class="myclass"
$config['attributes'] = array('class' => 'myclass');

以前的通过 "anchor_class" 参数来设置 class 属性的方法已经废弃。


二、代码实现:

视图中的代码:

[php]  view plain  copy
  1. <?php  
  2.                     $count = 0;  
  3.                     foreach($arr as $item){  
  4.                     $count++;  
  5.                 ?>  
  6.                 <tr><td><?php echo $count;?></td><td><a href=""><?php echo $item["title"];?></a></td><td><?php echo $item["time"];?></td><td><?php echo $item["publisher"];?></td><td>  
  7.                         <table>  
  8.                             <tr>  
  9.                                 <td width="40%"></td>  
  10.                                 <td><a href="#"><span class="glyphicon glyphicon-pencil"></span></a></td>  
  11.                                 <td width="30%"></td>  
  12.                                 <td><a href="#"><span class="glyphicon glyphicon-trash" style="color:red;"></span></a></td>  
  13.                             </tr>  
  14.                         </table>  
  15.                     </td></tr>  
  16.   
  17.                 <?php }?>  
  18.                 <tr>  
  19.                     <td colspan="5">  
  20.                         <nav>  
  21.                             <?php echo $links; ?>//分页字符串  
  22.                         </nav>  
  23.                     </td>  
  24.                 </tr>  
  25.                 </tbody>  
  26.             </table>  

控制器中的代码如下:
[php]  view plain  copy
  1. public function dividePage(){  
  2.         //装载类文件  
  3.         $this->load->library('pagination');  
  4.         //每一页显示的数据条数的变量  
  5.         $page_size=2;  
  6.   
  7.         $this->load->helper('url');//分页一定要用它!!!!!!  
  8.         $config['base_url']=site_url("My/dividePage");  
  9.         $config['uri_segment']=3;//分页的偏移量查询在那一段上面  
  10.   
  11.         $config['full_tag_open'] = '<ul class="pagination">';  
  12.         $config['full_tag_close'] = '</ul>';  
  13.         $config['first_tag_open'] = '<li>';  
  14.         $config['first_tag_close'] = '</li>';  
  15.         $config['prev_tag_open'] = '<li>';  
  16.         $config['prev_tag_close'] = '</li>';  
  17.         $config['next_tag_open'] = '<li>';  
  18.         $config['next_tag_close'] = '</li>';  
  19.         $config['cur_tag_open'] = '<li class="active"><a>';  
  20.         $config['cur_tag_close'] = '</a></li>';  
  21.         $config['last_tag_open'] = '<li>';  
  22.         $config['last_tag_close'] = '</li>';  
  23.         $config['num_tag_open'] = '<li>';  
  24.         $config['num_tag_close'] = '</li>';  
  25.         //已经废弃  
  26.         //$config['anchor_class']="class='ajax_fPage'";//借鉴第一篇文章的大神,这里为每个a标签加样式  
  27.          $config['attributes'] = array('class' => 'myclass');//给所有<a>标签加上class  
  28.   
  29.         //每一页显示的数据条数  
  30.         $config['per_page']=$page_size;  
  31.         $config['first_link']= '首页';  
  32.         $config['next_link']= '下一页';  
  33.         $config['prev_link']= '上一页';  
  34.         $config['last_link']= '末页';  
  35.   
  36.   
  37.   
  38.         //一共有多少条数据  
  39.         $sql = "select * from newsInforms";  
  40.         $res = $this->db->query($sql);  
  41.         $rows = $res->num_rows() ;  
  42.         $config['total_rows']=$rows;  
  43.   
  44.         //初始化 ,传入配置????  
  45.         $this->pagination->initialize($config);  
  46.         $data['links'] = $this->pagination->create_links();  
  47.   
  48.         //传入的数据  
  49.         $offset=intval($this->uri->segment(3));//用intval使空格转0,显示出来0  
  50.         $this->load->model("MyModel");  
  51.         $data["arr"] = $this->MyModel->getData($offset,$page_size);  
  52.   
  53.         $this->load->view("My/dividePage",$data);  
  54.   
  55.     }  

浏览器中的界面如下:


完整代码下载:

完整代码链接:https://github.com/LX960106/CITest.git

直接访问控制器中的dividePage方法即可得到上述demo分页展示


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值