php ajax无刷新分页,支持id定位示例代码

怪我咯
怪我咯 原创
2023-03-13 18:52:01 829浏览

AJAX 是一种与服务器交换数据的技术,可以在不重新载入整个页面的情况下更新网页的一部分。本文章主要介绍php 使用ajax实现的无刷新分页代码

<?php 
Header("Content-Type:text/html; charset=utf-8"); 

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'); 


?> 

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


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

以上就是php ajax无刷新分页,支持id定位示例代码的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。