ホームページ >バックエンド開発 >PHPチュートリアル >PHP ページネーション ナビゲーション Ajax PHP ページネーションのデモ

PHP ページネーション ナビゲーション Ajax PHP ページネーションのデモ

WBOY
WBOYオリジナル
2016-07-29 08:36:001172ブラウズ

今日、Momo のページングの説明を見ていたら、長い間誰も投稿していなかったので、Momo のページングの説明を拡張して、PHP + AJAX のページングのデモを行いました。まだ基本的な AJAX 開発フレームワーク:

コードをコピーします コードは次のとおりです:

var http_request=false;
function send_request(url){// 初期化、処理関数、リクエストを送信する関数を指定します
http_request =false;
//XMLHttpRequest オブジェクトの初期化を開始します
if(window.rideMimeType("text/xml");
}
}
else if(window.ActiveXObject){///IE ブラウザ
try{
http_request=new ActiveXObject ("Msxml2.XMLHttp");
}catch(e){
try{
http_request=new ActiveXobject(" Microsoft.XMLHttp")
}catch(e){}
}
}
if(!http_request){ //例外、オブジェクト インスタンスの作成に失敗しました
window.alert("Failed to create XMLHttp object!");
return false ;
}
http_request. // リクエスト メソッド、URL、および次のコードを実行するかどうかを決定します。同期的に
http_request.open("GET",url,true);
http_request.send(null) }
//情報を返す処理関数
function processrequest(){
if(http_request.readyState==4){ // オブジェクトのステータスを確認します
if(http_request.status==200){// 情報が正常に返されたので、情報の処理を開始します
}
else{/ /ページは正常ではありません
alert(「リクエストしたページは正常ではありません! ");
}
}
}
function dopage(obj,url){
document.getElementById(obj).innerHTML="データを読み取り中...";
send_request(url);
reobj=obj;
}

コンテンツを div に表示します。ページめくりアクションが発生すると、AJAX を使用して DIV を更新し、これがコンテンツ表示ページのコードです:



コードをコピーします


。以下の通り:

header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码
?> 
 
 
ajax分页演示 
 
 
 

 
$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;//输出分页导航 
?> 


ページをめくるときに dopage() 関数を呼び出し、コールバック情報を使用して div 内のコンテンツを更新することが重要です。サーバー側のコア コード:

コードをコピー コードは次のとおりです:

header("Content-type: text/html;charset=GBK");//回避する出力エンコーディング中国語の文字化け
$ page=isset($_GET['page'])?intval($_GET['page']):1; //この文は page=18 の場合、page の値を取得します。存在しない場合、ページ数は 1 です。
$ num = 10;具体的な計算式は
データベースの合計を各ページに表示される項目数で割って、余りを1で四捨五入します。
つまり、10/3=3.3333=4 余りがある場合は、1 ずつ切り上げなければなりません。
*/
$result=mysql_query("select * from cr_userinfo");
$total=mysql_num_rows($result); //すべてのデータをクエリします
$url='test.php';// このページの URL を取得します
// ページコードの計算 p $ Pagenum = CEIL ($ Total/$ Num) // 最後のページである合計ページ番号を取得します
$ page = min ($ pagenum, $ page); // ホームページを取得します
$ prepg = $ page-1;//前のページ
$nextpg=($page==$pagenum ? 0 : $page+1);//次のページ
$offset=($page-1)*$num;最初のページが (1-1)*10=0 の場合、2 番目のページは (2-1)*10=10 になります。
//ページングナビゲーションバーコードの開始:
$pagenav="ページを表示 ".($total?($offset+1):0)."-".min ($offset+10,$total)." records, total $total records ";
//ページが 1 つしかない場合は、関数から抜けます:
if($pagenum $pagenav.=" ホームページ "; ;a href=dopage('result','$url?page=$prepg');>前のページ "; else $pagenav.=" 前のページ ";
if($nextpg) $pagenav. = " 次のページ "; else $pagenav.=" 次のページ "; 最後のページ ";
$pagenav.=" ページ、合計 $pagenum ページ" ;
//渡されたページ番号パラメータが総ページ数より大きい場合、エラー メッセージが表示されます
If($page>$pagenum){
"Echo "エラー: ページが見つかりません ".$ page;
Exit; }
$info=mysql_query("select * from cr_userinfo limit $offset,$num"); // 対応するページ番号に表示するデータを取得します
while($it=mysql_fetch_array )){
Echo $it[ 'username'];
echo " echo $pagenav;// ページング ナビゲーションを出力します

以上、PHP ページング ナビゲーション Ajax の PHP ページング デモを紹介しました。PHP ページング ナビゲーションの内容も含めて、PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。