Bootstrap php制作动态分页标签

 更新时间:2016年12月23日 16:15:25   作者:yangruofeng95  
这篇文章主要为大家详细介绍了Bootstrap php制作动态分页标签的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

学习了下bootstrap,刚好在用分页,就自己写了一个分页,然后结合bootstrap样式展现。

bootstrap的分页格式:

<ul class="pagination">
  <li><a href="#">&laquo;</a></li>
  <li class="active"><a href="#">1</a></li>
  <li><a href="#">2</a></li>
  <li><a href="#">3</a></li>
  <li><a href="#">4</a></li>
  <li><a href="#">5</a></li>
  <li><a href="#">&raquo;</a></li>
</ul>

PHP动态分页过程;

/**
 * @param $maxpage 总页数
 * @param $page  当前页
 * @param string $para 翻页参数(不需要写$page),$para参数就应该设为'&id=1'
 * @return string 返回的输出分页html内容
 */
function multipage($maxpage, $page, $para = '') {
  $multipage = ''; //输出的分页内容
  $listnum = 5;   //同时显示的最多可点击页面

  if ($maxpage < 2) {
    return '';
  }else{
    $offset = 2;
    if ($maxpage <= $listnum) {
      $from = 1;
      $to = $maxpage;
    } else {
      $from = $page - $offset; //起始页
      $to = $from + $listnum - 1; //终止页
      if($from < 1) {
        $to = $page + 1 - $from;
        $from = 1;
        if($to - $from < $listnum) {
          $to = $listnum;
        }
      } elseif($to > $maxpage) {
        $from = $maxpage - $listnum + 1;
        $to = $maxpage;
      }
    }

    $multipage .= ($page - $offset > 1 && $maxpage >= $page ? '<li><a href="?page=1'.$para.'" >1...</a></li>' : '').
      ($page > 1 ? '<li><a href="?page='.($page - 1).$para.'" >&laquo;</a></li>' : '');

    for($i = $from; $i <= $to; $i++) {
      $multipage .= $i == $page ? '<li class="active"><a href="?page='.$i.$para.'" >'.$i.'</a></li>' :
   '<li><a href="?page='.$i.$para.'" >'.$i.'</a></li>';
    }

    $multipage .= ($page < $maxpage ? '<li><a href="?page='.($page + 1).$para.'" >&raquo;</a></li>' : '').
      ($to < $maxpage ? '<li><a href="?page='.$maxpage.$para.'" class="last" >...'.$maxpage.'</a></li>' : '');
    $multipage .= ' <li><a href="#" ><input type="text" size="3" onkeydown="if(event.keyCode==13) 
    {self.window.location=\'?page=\'+this.value+\''.$para.'\'; return false;}" ></a></li>';


    $multipage = $multipage ? '<ul class="pagination">'.$multipage.'</ul>' : '';
  }

  return $multipage;
}

输出分页结果,如$multipage = multipage(20,1);便可得到如下所示的分页标签了:

有个不完善的地方就是最后的页码自选择框的大小与bootstrap的分页框大小不一致,有点影响美观了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JavaScript 学习笔记(五)

    JavaScript 学习笔记(五)

    今天继续学习JS中的对象,昨天内置对象Global对象和Math对象,今天继续。
    2009-12-12
  • js实现简单计算器

    js实现简单计算器

    一个简洁的网页JS计算器,附详细代码释义。通过下边的效果演示就可以看到,这是一个挺小的js网页计算器,界面美化的我想还是不错的,毕竟在没有使用任何图片修饰的情况下,很好看,而且功能挺实用,可以完成基本的数学算数运算。
    2015-11-11
  • webpack自定义loader全面详解

    webpack自定义loader全面详解

    这篇文章主要为大家介绍了webpack自定义loader全面详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • js实现数据双向绑定(访问器监听)

    js实现数据双向绑定(访问器监听)

    这篇文章主要为大家详细介绍了采用访问器监听的方式实现简单数据双向绑定,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • js实现拖动滑块效果

    js实现拖动滑块效果

    这篇文章主要为大家详细介绍了js实现拖动滑块效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件

    创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件

    这篇文章主要介绍了创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件 的相关资料,需要的朋友可以参考下
    2016-06-06
  • Array, Array Constructor, for in loop, typeof, instanceOf

    Array, Array Constructor, for in loop, typeof, instanceOf

    虽然在 JavaScript 中数组是是对象,但是没有好的理由去使用 `for in` 循环 遍历数组。相反,有一些好的理由不去使用 for in 遍历数组。
    2011-09-09
  • JS操作HTML自定义属性的方法

    JS操作HTML自定义属性的方法

    这篇文章主要介绍了JS操作HTML自定义属性的方法,以实例形式分析了html中自定义属性的设置与对应的javascript操作技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • JavaScript中for..in循环陷阱介绍

    JavaScript中for..in循环陷阱介绍

    for...in循环中的循环计数器是字符串,而不是数字它包含当前属性的名称或当前数组元素的索引,下面有个不错的示例大家可以参考下
    2013-11-11
  • js实现简易的单数字随机抽奖(0-9)

    js实现简易的单数字随机抽奖(0-9)

    这篇文章主要介绍了js实现简易的单数字0-9随机抽奖,可以控制抽取随机数开始与停止,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-08-08

最新评论