今天看默默講解分頁,想想好像原創區很久沒人發文了,就順便把默默的那個擴展開來,來個PHP+AJAX分頁演示吧,好的,說來就來,首先我們依然是基本的AJAX開發框架:
複製程式碼
複製程式碼
程式碼如下:
var http_request=false;
var http_request=false;
var http_request=false;
>/function(url ,指定處理函數,發送請求的函數
http_request=false;
//開始初始化XMLHttpRequest物件
new XMLHttpRequest();
if(http_request.overrideMimeType){//設定MIME類別
http_request.overrideMimeType("text/ ; else if(window.ActiveXObject){// IE瀏覽器
try{
http_request=new ActiveXObject("Msxml2.XMLHttp"); 🎜> http_request=new ActiveXobject("Microsoft.XMLHttp" );
}catch(e){}
}
} ("建立XMLHttp物件失敗! ");
return false;
}
http_request.
T",url,true );
http_request.send(null);
}
//處理回傳訊息的函數
物件狀態
if(http_request.status==200){//資訊已成功回傳,開始處理資訊
document.getElementById(reobj).in document.getElementById(reobj).innerHTML=httpquest. else{ //頁面不正常
alert("您所要求的頁面不正常! ");
}
}
}
function dopage(obj,url){T
function dopage(obj,url){T
function dopage(obj,url){T
function dopage(obj,url){T
function dopage(obj,url){T
function dopage0 > send_request(url);
reobj=obj;
}
內容我放在一個翻頁中顯示,當翻頁動作產生時,利用AJAX顯示頁碼:
複製程式碼 程式碼如下: header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码
?>
$page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
$num=10; //每页显示10条数据
$db=mysql_connect("localhost","root","7529639"); //创建数据库连接
mysql_select_db("cr_download"); //选择要操作的数据库
/*
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是
总数据库除以每页显示的条数,有余进一。
也就是说10/3=3.3333=4 有余数就要进一。
*/
$result=mysql_query("select * from cr_userinfo");
$total=mysql_num_rows($result); //查询所有的数据
$url='test.php';//获取本页URL
//页码计算
$pagenum=ceil($total/$num); //获得总页数,也是最后一页
$page=min($pagenum,$page);//获得首页
$prepg=$page-1;//上一页
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页
$offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。
//开始分页导航条代码:
$pagenav="显示第 ".($total?($offset+1):0)."-".min($offset+10,$total)." 条记录,共 $total 条记录 ";
//如果只有一页则跳出函数:
if($pagenum<=1) return false;
$pagenav.=" 首页 ";
if($prepg) $pagenav.=" 前页 "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" 后页 "; else $pagenav.=" 后页 ";
$pagenav.=" 尾页 ";
$pagenav.=" 页,共 $pagenum 页";
//假如传入的页数参数大于总页数,则显示错误信息
If($page>$pagenum){
Echo "Error : Can Not Found The page ".$page;
Exit;
}
$info=mysql_query("select * from cr_userinfo limit $offset,$num"); //获取相应页数所需要显示的数据
While($it=mysql_fetch_array($info)){
Echo $it['username'];
echo "
";
} //显示数据
echo"
";
echo $pagenav;//输出分页导航
?>