源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

仿Aspnetpager的一个PHP分页类代码 附源码下载

  • 时间:2022-08-23 22:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:仿Aspnetpager的一个PHP分页类代码 附源码下载
基本逻辑思路和.net的一样,就是将通过实体类来进行配置换成了通过数组进行配置,逻辑比较简单,根据条件判断拼接分页html。 [b]有以下几个简单的功能:[/b] 1:支持相关按钮的显示与否配置 2:支持每页数目,文本名称,html标签类名称的自由配置 3:支持url重写过的页面(需自己在配置数组中添加重写规则) [b]简单吧,还是直接上代码: [/b]核心代码:pager.class.php
[url=$url]} /* * 获得span标签的html * $num:span中的文本,即页序号 * $classname:span标签的class名称 */ private static function get_span_html($num,$classname) { return "<span class=\"" .$classname. "\">$num</span>\n"; } /* * 格式化url * $url 原url * $page 页码 */ private static function format_url($url,$page) { return preg_replace("/\{page\}$/",$page,$url); } /* *初始化分页的配置文件 *如果在参数中不含该键值,则默认使用申明的值 */ private function init_config($config) { //判断该值是否存在、是否是数组、是否含有记录 if(isset($config)&&is_array($config)&&count($config)>0){ foreach($config as $key=>$val) { $this->config[$key]=$val; } } } /* * 构造跳转功能脚本的方法 *$url:需要跳转的额那个url */ private function get_jumpscript($url) { $scriptstr = "<script type=\"text/javascript\">\n". "function jump(){\n". "var jnum=document.getElementById(\"jumpNum\").value;\n". "if(isNaN(jnum)){\n". "alert(\"在跳转框中请输入数字!\");\n". "}\n". "else{\n". "var re=/\{page\}/\n". "location.href='$url'.replace(re,jnum);\n". "}\n". "}\n". "</script>\n"; return $scriptstr; } /* * php中构造类似.net中format方法的函数 * 用法:format("hello,{0},{1},{2}", 'x0','x1','x2') */ private function format() { $args = func_get_args(); if (count($args) == 0) { return;} if (count($args) == 1) { return $args[0]; } $str = array_shift($args); $str = preg_replace_callback('/\\{(0|[1-9]\\d*)\\}/', create_function('$match', '$args = '.var_export($args, true).'; return isset($args[$match[1]]) ? $args[$match[1]] : $match[0];'), $str); return $str; } } ?>
[b]直接用数组参数的方式调用[/b] [b]最后来看下demo的图片:[/b] [img]http://files.jb51.net/file_images/article/201210/2012108195919016.jpg[/img] 由于小弟最近刚刚学习php,代码中出现的不规范,低效率,冗余或者设计问题还请大家多多指教。 [url=http://xiazai.jb51.net/201210/yuanma/php-Aspnetpager_jb51.rar]demo源码下载[/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部