ajax无刷新分页,支持id定位

1/9/2009来源:PHP技巧人气:8875

<?php
Header("Content-Type:text/html; charset=utf-8");
// AK QQ:42220796
// 总数 单页条数 当前页 点击后的url地址get 应用的js函数  显示几个  显示的地址
function AjaxPage($Total,$ListNub,$CurrentPage,$Url,$AjaxAction,$HalfPer='',$ViewId='')
{
//计算总页数
$totalPage = @ceil($Total/$ListNub);
$total=$totalPage-1;
$re="";

//echo $CurrentPage;
$re .= ( $CurrentPage > 0 )
?
"<td><a
href=\"javascript:$AjaxAction('$Url=0','$ViewId')\"\">首页</a></td>\n<td><a
href=\"Javascript:$AjaxAction('".$Url."=".($CurrentPage-1)."','$ViewId')\"\">上一页</a></td>\n"
:
"<td>首页</td>\n<td>上一页</td>\n";
for ( $i =
$CurrentPage - $HalfPer,$i > 0 || $i = 0 ,     $j =
$CurrentPage + $HalfPer, $j < $totalPage || $j = $totalPage;$i < $j ;$i++
)
{
  $re .= $i == $CurrentPage
  ?
"<td><b class=currentPage>[" . ( $i + 1 ) .
"]</b></td>\n"
  : "<td><a
href=\"javascript:$AjaxAction('$Url=$i','$ViewId')\">" . ( $i + 1 ) .
"</a></td>\n";
}
$re .= ( $CurrentPage < $total
)
? "<td><a
href=\"javascript:$AjaxAction('".$Url."=".($CurrentPage+1)."','$ViewId')\"\">下一页</a></td>\n<td><a
href=\"javascript:$AjaxAction('".$Url."=".($total)."','$ViewId')\"\">尾页</a>\n</td>"
:
"<td>下一页</td>\n<td>尾页</td>\n";
$re="<table
style=text-align:center><tr>$re</tr></table>";
return
$re;

}
//总页数,传递的页面变量-当前页 url地址 前后各多少页
$page = $_GET['page'];
//echo
page('10',$page,'index.php?page','2');


?>

<div id="nike">
<?php
echo
AjaxPage(200,20,$page,'rand.php?page','ajaxaction','2','nike');
?>
</div>


<script type="text/javascript" language="javascript">
var
http_request = false;

function send_request(url,htmlid) {
http_request =
false;
if (window.xmlHttPRequest) {
  http_request = new
xmlhttpRequest();
  if (http_request.overrideMimeType)
{
   http_request.overrideMimeType('text/xml');
  }
}
else if (window.ActiveXObject) {
  try
{
   http_request = new
ActiveXObject("Msxml2.XMLHTTP");
  } catch (e)
{
   try {
    http_request = new
ActiveXObject("Microsoft.XMLHTTP");
   } catch (e)
{}
  }
}
if (!http_request)
{
  alert('不能创建 XMLHttpRequest 对象!');
  return
false;
}
http_request.onreadystatechange = function
(){likeakak(htmlid);}//processRequest(htmlid)
http_request.open('GET',
url, true);
http_request.send(null);

}

//处理返回信息
function processRequest(htmlid) {
if
(http_request.readyState == 1)
{
  document.getElementById(htmlid).innerHTML="下载中...";
}
if
(http_request.readyState == 4) {
  if (http_request.status == 200)
{
   document.getElementById(htmlid).innerHTML=http_request.responseText;
  }
else
{
   alert('请求异常');
  }
}
}
//处理返回信息
function
likeakak(htmlid)
{
if (http_request.readyState == 1)
{
  document.getElementById(htmlid).innerHTML="下载中...";
}
if
(http_request.readyState == 4) {
  if (http_request.status == 200)
{
   document.getElementById(htmlid).innerHTML=http_request.responseText;
  }
else
{
   alert('请求异常');
  }
}
}
function
ajaxaction(url,viewid)
{
send_request(url,viewid);
}

//自定义调用函数
function elist(id)
{
var inputarray = new
Array();

inputarray[1] = 'aaa';
inputarray[2] =
'bbb';
inputarray[3] = 'ccc';
inputarray[4] =
'ddd';
inputarray[5] = 'eee';

send_request('ajax.php?do=ajax&sort='+id,inputarray[id]);

}

</script>