..


スポンサーリンク

MySQLのDBからのデータのページネーション

マックスボッシによって書かれた記事

私たちの両方のPHPのガイド言語に捧げられた以前の記事で、我々はすでに別の方法PHP / MySQLのでは勝ちの組み合わせを作る方法を見てきた、。

特に、我々はすでにDBからデータを抽出する方法を見てきたが、私たちは、"問題は"非常に一般的であるに対処するために、"忘れ"て、それ次のとおり複数のページに分けることができるようにデータベース内のレコードは、特に多数のとき?

この記事では、実際には、我々のデータベース内の指定されたテーブル内で大量のデータのページングを行う方法が表示されます。
以下に例を示します:ID、名前電話、そしてこのテーブルは100個のレコードが設定されていることを言う:3つのフィールドで構成されて、scheduleというがあるとしましょう:

あなたはそれが101ページ内のすべてのレコードを抽出するために現実的で想像できるように、レコードがそれぞれの束を持つ複数のページに分割し、それらを削除するには、はるかに容易です。
そのために、我々は、私たちは正確にレコードを選択するとその数を決定するのを可能にする便利な機能がネイティブのMySQLのLIMITファンクションを使用してください。 出発して取得するレコード数の記録:そのために、そのジョブの上限は、2つのパラメータが必要です。

実用的な例を見てみましょう:






 <?







 / /レコード数を設定する変数を作成します。

 





 / /各ページに表示する







 $ X_pag = 5;









 / /現在のページ番号を取得します。







 / /通常は、クエリ文字列を使用してください







 $ページ= $ _GET ['ページ'];









 $ページが拡張されている場合/ /チェック...







 / / ...そうでなければ、私は値1を割り当てます。







場合($ページ)$ページ= 1;

 







 / /私はデータベースに接続







で、$ conn = mysql_connect("localhost"を、"ユーザー"、"パスワード");







 mysql_select_db("DB_NAME"、$ connが)。









 / /行をカウントするためにmysql_num_rowsを使用して、







テーブルのカレンダーで、/ /







 $ ALL_ROWS = mysql_num_rows(するmysql_query("アジェンダからSELECT ID"));









 / /動作の数学的なコールを使用







 / /総ページ数







 All_pagesは= $ CEIL($ ALL_ROWS / $ x_pag);









 / /計算を開始するレコードの







まず$ =($ページ - 1)* $ x_pag。









 / /現在のページのレコードを検索する...







使用するための/ /最初から$をLIMITとx_pag $までカウント







 $ルピー=するmysql_query("カレンダーのLIMIT最初の$、$ x_pag SELECT * FROM");







 $ NR = mysql_num_rows($ RS);







場合($ NR!= 0){



  



 {;(X $ <$ nは、$ x + +は$ x = 0)のための



    



 $行=するmysql_fetch_assoc($ RS);



    



エコー"の<table> <TR>";



    



エコー"<TD>"。

 



 $行['id']の。

 



 "</ TD>";



    



エコー"<TD>"。

 



 $行['名前']。

 



 "</ TD>";



    



エコー"<TD>"。

 



 $行['電話']。

 



 "</ TD>";



    



エコー"</ TR> </ TABLE>";



  



 }







他に{}



  



 "見つかりませんレコードを!"エコーなし







 }









総ページ数は1以上です/ /場合...







異なるページ間を行き来する/ /プリントのリンク!







するif($ all_pages> 1){



  



するif($ページ> 1){



    



エコー"<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag-1. "\">";



    





  



 }

 

  



するif($ all_pages> $ページ){



    



エコー"<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag + 1. "\">";



    



エコー"次のページへ</>";



  



 }

 





 }









 DBへの/ /接続を閉じる







 mysql_close($ connが)。







 ?>



コー​​ドがよくコメントしている、従って、更なる説明の必要はないと思います。

同じカテゴリの...
E -ラーニング
Linuxの(コース) Linuxの(コース)
オープンソースシステムへの完全なガイド。 49€から。
MySQLの(コース) MySQLの(コース)
オープンソースのデータベースの管理。 39€から。
PHP(コース) PHP(コース)
動的なWebサイトを作成するためのフルコース。 49€から。
スポンサーリンク