为了不被和谐,让我们一起恪守黑客原则!
2009-12-30 18:06
190 查看
/** *AJAX分页 *$num 为总共的条数 比如说这个分类下共有15篇文章 *$perpage为每页要显示的条数 *$curpage为当前的页数 *$url为请求路径, *$obj为html对象,返回给jqery处理 *$page为$multipage这个字符串中要显示的表示页数的变量个数 *$maxpages为最大的页数值 此函数最后有一句$maxpage = $realpages; */ function multi($num, $perpage, $curpage,$url,$obj, $maxpages = 0, $page = 10, $autogoto = TRUE, $simple = FALSE) { global $maxpage; $ajaxtarget = !empty($_GET['ajaxtarget']) ? " ajaxtarget=\"".dhtmlspecialchars($_GET['ajaxtarget'])."\" " : ''; $multipage = ''; //$mpurl .= strpos($mpurl, '?') ? '&' : '?'; $realpages = 1; //判断总条数是否大于设置的每页要显示的条数 if($num > $perpage) { //设置在$multipage中当前页数之前还要输出几个页数 $offset = 2; $realpages = @ceil($num / $perpage); //总共的页数(不知道$maxpages的意思),这里假设是15条 $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages; //如果总页数小于multipage中要输出的页数$page,则只输出到实际页数为止 if($page > $pages) { $from = 1; $to = $pages; //如果大于的话,就要输出$page个页数(我们假设的的15条就符合这个条件) } else { $from = $curpage - $offset; $to = $from + $page - 1; //假设curpage为4,目前为止,from为2,to为11 //下面假设curpage为1 if($from < 1) { $to = $curpage + 1 - $from; $from = 1; //目前为止from为1,to为3 if($to - $from < $page) { //因为这里的前提条件是总条数大于page,所以,如果$to-$from小于page的话显然达不到目的,应把$to设置为$page $to = $page; }//目前为止 from为1 ,to为10 } elseif($to > $pages) {//to是不可以大于总页数的 $from = $pages - $page + 1; $to = $pages; } } $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="javascript:void(0);" onclick="ajaxpage(\''.$obj.'\',\''.$url.'\','.$curpage.')">1 ...</a>' : ''). ($curpage > 1 && !$simple ? '<li><a href="javascript:void(0);" onclick="ajaxpage(\''.$obj.'\',\''.$url.'\','.($curpage-1).')">上一页</a></li>' : ''); for($i = $from; $i <= $to; $i++) { $multipage .= $i == $curpage ? '<li class="active"><a>'.$i.'</a></li>' : '<li><a href="javascript:void(0);" onclick="ajaxpage(\''.$obj.'\',\''.$url.'\','.$i.')">'.$i.'</a></li>'; } $multipage .= ($curpage < $pages && !$simple ? '<li><a href="javascript:void(0);" onclick="ajaxpage(\''.$obj.'\',\''.$url.'\','.($i+1).')">下一页</a></li>' : ''); } $maxpage = $realpages; return $multipage; }
JQUERY
function ajaxpage(obj,url,page) { $.ajax({ type: "GET", url : url+"&curpage="+page, success:function(data){ $(obj).html(data); } }) }
调用
<?php $multipage = multi($total, 2,$curpage, 'index.php?act=goods&op=consulting_ajaxlist&goods_id='.$goods_id,'#gd-com',10); echo $multipage; ?>
相关文章推荐
- 那些年我们一起上过的黑客网站
- 一点点的幸福!为了爱,我们一起努力!(摘)
- 【SEO】周末了,为了纪念明天上班,我们来一起看看SEO吧
- 【SEO】周末了,为了纪念明天上班,我们来一起看看SEO吧
- 那些年,我们一起追过的女孩~~
- HDU - 4431 and HDU - 3391 我们一起打麻将 【dfs暴力模拟】
- 以2/8原则指导我们的底层框架设计
- 那些年,我们一起学WCF--(7)PerSession实例行为
- 致我们工作中的设计模式之设计原则---开放封闭原则
- 黑客原则:不能仇视社会,不能给别人制造麻烦,不能给别人带来损失
- 为了百万级的房子出卖我们的梦想,值得吗?
- 让我们一起做个令失信银行吐血的储户
- “少儿编程Scratch到Python”让我们一起谱写美好的未来
- 我们工作到底为了什么
- 机房收费系统重构版:那个系统我们一起遇到的问题
- 密码发生器(在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了)
- 写给年轻的我们:我们工作到底为了什么
- 那些年,我们一起追过的seo培训!
- 我们一路同行,彼此鼓励,为了心中的嵌入式梦想