目次
PHPとMYSQLのページング原理と実装について静かに話します
ホームページ バックエンド開発 PHPチュートリアル PHP@MYSQL ページング原理と実装_PHP チュートリアルについて静かに話します。

PHP@MYSQL ページング原理と実装_PHP チュートリアルについて静かに話します。

Jul 13, 2016 am 10:59 AM
ページネーション 原理 成し遂げる

PHPとMYSQLのページング原理と実装について静かに話します

この記事を読む前に、PHP の知識と MYSQL クエリ操作の基本を習得していることを確認してください。

Webプログラムとしては、会員データや記事データなど無数のデータを扱うことが多いですが、会員数が数十人程度であれば、1ページに表示することができます。 Web サイトに複数のメンバーがいる場合、メンバーが数千人、さらには数十万人いる場合、メンバー全員を 1 つのページで開くと、ブラウザーと閲覧者の両方にとって苦痛になります。

PHP を学習している初心者は誰でもページネーションについて頭の痛い問題を抱えていると思いますが、Mo Mo のこの投稿を読めば、きっと頭を撫でて、「ページネーションがとても簡単だったことが分かりましたね?」と言うでしょう。実際、今すぐ新鮮な空気を深呼吸して、サイレンスが少しずつ説明するのを注意深く聞いてください。

1,000個のデータを処理して各ページに10個ずつ表示したいとします。この場合、まずmysqlで10個の情報を抽出する方法を見てみましょう。

テーブル制限 0,10 から * を選択

上記は非常に単純な mysql クエリステートメントであり、その機能は table という名前のテーブルから 10 個のデータを抽出し、すべてのフィールドの値を取得することです。

このセクションの「limit 0,10」がポイントで、この中の0は0を始点として、次の10は10個のデータを表示することになります。そして、10を始点として表示する必要があります。 20枚目まではどのように書けばよいでしょうか?

おそらく多くの人は「10、20 個まで」とはっきり言うでしょう。ああ、これは間違っています。正しい書き方は「limit 10,10」です。この後のパラメータは終了点ではなく、抽出される数値です。

10 個のデータを抽出する方法がわかったので、1,000 個のデータを抽出するには、この種のクエリを 100 回実行することを意味します。つまり、次のクエリを実行する必要があります。

制限 0,10 リミット 10,10 //2 ページ目

制限 20,10 //ページ 3
制限 30,10 //ページ 4

何かパターンが見えますか?はい、最初のパラメータはページをめくるたびに 10 ずつ増加しますが、2 番目のパラメータは変更されません。
つまり、最初のパラメータの値をページ数に応じて変更してみると、ページ単位で表示できるのですが、原理は非常にシンプルです。

しかし、ページ数に応じて最初のパラメータの値を変更するにはどうすればよいでしょうか?まず、ページ番号の値が必要です。これは、URL の GET メソッドを使用して取得できます。

たとえば、index.php?page=18

この種の URL アドレスはどこでも見られるので、ほとんどの方がご存知だと思います。page パラメーターの機能は、表示するページ数を渡すことです。

コードの一部を通じてそれがどのように実装されるかを見てみましょう:

PHP コンテンツをクリップボードにコピーする PHP コード:


<?php

/*

作者:サイレント

日付:2006-12-03


*/

$page=isset($_GET['page'])?intval($_GET['page']):1; //この文は page=18 の page の値を取得します。次にページ番号は 1 です。

$ num = 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 id from table")); //データの総数をクエリします。id はデータベース内で自動的に割り当てられるフィールドです
$pagenum=ceil($total/$num);

//渡されたページ番号パラメータが総ページ数より大きい場合、エラーメッセージが表示されます
$totalrecord=mysql_num_rows($result);
$pagesize=10;
$page=isset($_GET['ページ'])?$_GET['ページ']:1; $pagecount=($totalrecord % $pagesize==0)?$totalrecord / $pagesize:(int) ($totalrecord / $pagesize)+1;
$page=($page>$pagecount || $page<1 )?1:$page;
$start=$pagesize*($page-1);
$res=mysql_query("select * from tablename order by ID desc limit $start,$pagesize")

//対応するページ番号に表示する必要があるデータを取得します。名前はデータ内のフィールドです

While($rsmysql_fetch_array($res)){
エコー $rs['name']."<br />";
} なぜなら
以下で使用するため、詳細は説明しません。他にもたくさんの方法がありますが、それらは不可欠です。
/*ページング情報を表示します。現在のページの場合は太字で表示されます。3ページ目の場合は次のように表示されます。 1 2 3 4 5 6
*/

?>


上記のコードを注意深く読み、データベース接続とクエリ テーブルを実際のものに置き換えると、その実行効果がわかります。

http://www.bkjia.com/PHPjc/631898.html

www.bkjia.com

http://www.bkjia.com/PHPjc/631898.html技術記事 PHPMYSQL ページングの原則と実装について静かに話します。この記事を読む前に、PHP と MYSQL クエリ操作の基本についてある程度の知識を習得していることを確認してください。 Web プログラムとして、私たちはしばしば次のことに対処しなければなりません...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Mar 24, 2024 am 11:27 AM

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか?

Huawei携帯電話にWeChatクローン機能を実装する方法 Huawei携帯電話にWeChatクローン機能を実装する方法 Mar 24, 2024 pm 06:03 PM

Huawei携帯電話にWeChatクローン機能を実装する方法

PHP プログラミング ガイド: フィボナッチ数列を実装する方法 PHP プログラミング ガイド: フィボナッチ数列を実装する方法 Mar 20, 2024 pm 04:54 PM

PHP プログラミング ガイド: フィボナッチ数列を実装する方法

PHP ゲーム要件実装ガイド PHP ゲーム要件実装ガイド Mar 11, 2024 am 08:45 AM

PHP ゲーム要件実装ガイド

Golang がゲーム開発の可能性を可能にする方法をマスターする Golang がゲーム開発の可能性を可能にする方法をマスターする Mar 16, 2024 pm 12:57 PM

Golang がゲーム開発の可能性を可能にする方法をマスターする

nohupの機能と原理の解析 nohupの機能と原理の解析 Mar 25, 2024 pm 03:24 PM

nohupの機能と原理の解析

Linuxのchageコマンドの機能と動作原理の詳細な分析 Linuxのchageコマンドの機能と動作原理の詳細な分析 Feb 24, 2024 pm 03:48 PM

Linuxのchageコマンドの機能と動作原理の詳細な分析

PHP で配列のページネーションを実装する最良の方法 PHP で配列のページネーションを実装する最良の方法 May 04, 2024 pm 02:39 PM

PHP で配列のページネーションを実装する最良の方法

See all articles