discuz的ajax,discuz分页函数改成基于jqueryd的ajax分页函数

/**

*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 

//如果总页数小于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 

$to = $curpage + 1 - $from;

$from = 1;

//目前为止from为1,to为3

if($to - $from 

//因为这里的前提条件是总条数大于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 ? '1 ...' : '').

($curpage > 1 && !$simple ? '

上一页' : '');

for($i = $from; $i <= $to; $i++) {

$multipage .= $i == $curpage ? '

'.$i.'' :

'

'.$i.'';

}

$multipage .= ($curpage 下一页' : '');

}

$maxpage = $realpages;

return $multipage;

}

JQUERYfunction 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;

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值