先看函数被定义了没,没有才定以函数.(这里似乎没有必要,引用文件的时候直接require_once不就行了?)
函数里面声名了几个全局变量.当前页(外面从$_GET参数里取的),每页起始的贴子号(这是第一次定义,外面显示的时候用到),构成翻页表的html字符串,$_SERVER(这个定义全局变量是多余的,$SERVER本来就是全局的)
然后把每页显示的页数也注册成全局变量(我不觉得这个有什么用,函数要用这个值有参数传递,外面直接有定义啊)
从get里面取出当前页参数,如果没有,就指定为1
然后获取页面URI,解析URI,取得参数部分的定义
(先判断URI带不带参数)然后用正则把参数中关于当前页的部分去掉,用剩余的部分重新组成URI
在URL后面加一个没有值的页码参数,这里考虑到了有其他参数和没其他参数的情况
算出总页数,当前页(当前页如果大于总页则指定为最后页),上一页(当前页-1,等于0则代表不存在),下一页(要考虑有没有下一页),算出每页起始页帖子号(这个号不是帖子的id,是降续排列后有上往下数的数字)
这里做了个判断 如果总页数小于等于1,则返回false,这代表只有1页时,不会显示翻页列表
开是生成分页导航条的代码:
对当前页,前一页,后一页,是否是最后页都做了判断,来决定首页,前一页,后一页,末页是显示链接还是文字
编写跳转页面代码,使用οnchange=window.location的方式.(还记得之前没有值的page吗?在这里=this.value)
列表项用循环打印出来,这里做了个判断,如果是个当前页,则选中该项
用到的函数:
function_exists() //判断函数是否存在
isset() //判断变量是否存在
intval() //把字符串转换为值
parse_url() //解析URI到数组里
ereg_replace() //正则匹配替换
str_replace() //字符串替换
ceil() //进位取整小数
min() //取最小的数