/** *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; ?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。