この記事を読む前に、PHP の知識と MYSQL クエリ操作の基本を習得していることを確認してください。
Webプログラムとしては、会員データや記事データなど無数のデータを扱うことが多いですが、会員数が数十人程度であれば1ページに表示することが可能です。しかし、もしあなたの Web サイトに数千人、さらには数十万人のメンバーがいる場合、それらをすべて 1 つのページで開くと、ブラウザーにとっても閲覧者にとっても苦痛になります。
PHP を学習する初心者は誰でもページネーションで頭を悩ませることになると思いますが、Momo の投稿を読めば、きっと頭を撫でて、「ページネーションってこんなに簡単だったっけ?」と思うはずです。実際、今すぐ新鮮な空気を深呼吸して、サイレンスが少しずつ説明するのを注意深く聞いてください。
1000個のデータを処理して各ページに10個ずつ表示したいとします。この場合、まずmysqlで10個の情報を抽出する方法を見てみましょう。 。
Select * from table limit 0,10
上記は非常に単純な mysql クエリ ステートメントであり、その機能は table という名前のテーブルから 10 個のデータを抽出し、すべての値を格納することです。フィールドの数が取得されます。
このセクションの「limit 0,10」がポイントで、この中の 0 は開始点の 0 で、次の 10 は 10 個のデータを表示するため、10 を使用する必要があります。表示される20番目のデータを書き込むにはどうすればよいですか?
おそらく多くの人は「10、20 個まで」とはっきり言うでしょう。ああ、これは間違っています。正しい書き方は「limit 10,10」です。この後のパラメータは終了点ではなく、抽出される数値です。
10 個のデータを抽出する方法がわかったので、1,000 個のデータを抽出するには、このクエリを 100 回実行することになります。つまり、次のクエリを実行する必要があります:
Limit 0,10 Page
制限 10,10もうですか?はい、最初のパラメータはページをめくるたびに 10 ずつ増加しますが、2 番目のパラメータは変更されません。
つまり、最初のパラメータの値をページ数に応じて変更してみると、ページ単位で表示できるということになりますが、原理は非常に簡単でしょうか?
しかし、ページ数に応じて最初のパラメータの値を変更するにはどうすればよいでしょうか?まず、ページ番号の値が必要です。これは、URL の GET メソッドを使用して取得できます。
たとえば、index.php?page=18
この種の URL アドレスは、どこにでもあることをご存知だと思います。ページ パラメーターの機能は、次の数を渡すことです。表示されるページ。
コードでどのように実装されるかを見てみましょう:
コードをコピー
コードは次のとおりです:
/*
作成者: 静かに
日付:2006-12-03
*/
$page =isset($_GET['page'])?intval($_GET['page']):1; //この文は、page=18 のページの値を取得します。ページ数は 1 です。
$ num = 10; // 1 ページあたり 10 個のデータを表示します
$ db = mysql_connect ("host", "name", "pass") // データベース接続を作成します
$ select = MySQL_SELECT_DB ("DB", $ DB); // 操作したいデータベースを選択します
/*
まず、データベースにどれだけのデータを取得する必要があるかで判断できます。特定のページ、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの、特定のもの 式は
合計です。データ数を各ページに表示される項目数で割った余りは 1 に四捨五入されます。
つまり、10/3=3.3333=4 余りがある場合は、1 ずつ切り上げなければなりません。
*/
$ Total = MySQL_NUM_ROWS (mysql_query ("Select*from Table"); // データの総数
$ Pagenum = Ceil ($ Total/$ Num); //総ページ数を取得します
//渡されたページ番号パラメータが総ページ数より大きい場合、エラー メッセージが表示されます
If($page>$pagenum || $page == 0){
エコー "エラー: ページが見つかりません。";
終了
}
$offset=($page-1)*$num;制限値の最初のパラメータを取得します。最初のページが (1-1)*10=0 の場合、2 番目のページは (2-1)*10=10 になります。
$info=mysql_query("select * from table limit $offset,$num"); // 対応するページ番号に表示する必要があるデータを取得します
while($it=mysql_fetch_array() $info)) {
Echo $it['name']."
"; {
$show=($i!=$page)?"$i ":" $i";
Echo $show." ";
}
/*ページング情報を表示します。現在のページの場合は、次のように表示されます。太字の番号、残りのページ番号は、現在のページが 3 ページ目の場合、次のように表示されます。
*/
?>
上記のコードを注意深く読み、データベース接続とクエリ テーブルを実際のものに置き換えると、その実行効果がわかります。
非常に簡単ではありませんか? 頭を使って、よりパーソナライズされた表示にするだけです。「ホームページ、前のページ、次のページ、最後のページ」の形式を実装する方法です。ページングについてはどうですか?
OK、給水所に水を入れて終わりにします。 ^_^
コードをコピーします
コードは次のとおりです:
/*
作成者: Silently
日付:2006-12-03
*/
$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 を取得します
// ページ番号を計算します
$pagenum=ceil($total/$num) 🎜>$page=min($pagenum); ,$page);//ホームページを取得します
$prepg=$page-1;//前のページ
$nextpg=($page==$pagenum ? 0 : $page 1);//次のページ
$offset=($page-1)*$num; 10=0、2 ページ目は (2-1)*10=10 です。
//ページングナビゲーションバーコードの開始:
$pagenav="ページを表示 ".($total?($offset 1):0)."-".min($offset 10,$total)." records, total $total records ";
// ページが 1 つしかない場合は、そこから飛び出す関数:
if($pagenum
$pagenav.=" ホームページ ";
if($prepg) $pagenav.=" 前のページ "; else $pagenav.=" 前のページ "; if ($nextpg) $pagenav.=" 次のページ "; else $pagenav.=" 次のページ "; =" 最後のページ ";
//ドロップダウン ジャンプ リスト、すべてのページ番号をループします:
$ pagenav.="ページに移動 $ のページpagenum page";
//渡されたページ番号パラメータが総ページ数より大きい場合、エラー メッセージが表示されます
If($page>$pagenum){
Echo "エラー: ページが見つかりません ".$page;
}
$info=mysql_query("select * from cr_userinfo limit $offset,$num");データの表示に必要なページ数
while($it=mysql_fetch_array($info)){
Echo $it['username']
echo "
"; > echo "
";
echo $pagenav;//出力ページング ナビゲーション
?>
ところで、実際のアプリケーションについて詳しく見てみましょう。 、ほとんどの場合、リストに関してはページングを使用する必要があります。ページングが必要なときにいつでもこの関数を呼び出せるように、一般的なページング関数を作成してみてください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール
