検索
ホームページバックエンド開発PHPチュートリアルPHP の第 5 弾に関する簡単な説明 --- ページネーションの九陽魔法_PHP チュートリアル

上記の記事 http://www.BkJia.com/kf/201204/128413.html では、再帰関数の動作メカニズムと使用法について説明しましたが、理解できているかどうかはわかりません。ご理解いただければ、いつでもご質問いただけます。

過去 2 日間で、多くの学生が質問するときにページングに質問を追加しました。そこで、今日はページング技術の応用について詳しく説明します:

一部の Web アプリケーションでは美しいページネーションがよく見られます

次のページをクリックすると、次のページのコンテンツが表示され、ページがより美しくなります。

この記事の説明を読めば、学生さんも美しいページネーションを書けるようになると思います

これで、次のデータを含む mytable という名前のデータテーブルができました。


ID 名前 年齢 性別
1 ゴーダン wrw7921sqa5eb72c92a549dd5avfr112 20 1
2 ガオ フシュアイ vdf79218965eb72c92a549dd5a334534 20 0
3 ジエ・ゲー gbj792saa65eb72c92a549dd5avfd321 22 1
4 バンド・オブ・ブラザーズ 45379218965eb72ccdd549dd5a330342 24 1
5 ランプブラザーズ cdc79218965eb72c92a549dd5vsfdwsx 24 1
6 ランプ ret79218965eb72c92a549dd5a33bgyt 25 0
7 php 123qwe18965eb72c92a549dd5a330875 26 1
8 mysql 76e79218965eb72c92a549ddvfdd0dsa 28 0
9 アパッチ 54ebnm18965eb72c92a549dd5a330cxz 30 1



まず、ページングリンクを作成しましょう

echo "前のページ
";
echo "次のページ
";
echo "アイテムの合計";
?>

考えてみましょう、前のページをクリックすると、現在のページ番号が1つ減り、前のページのデータが表示されます

変数 $page を使用して現在のページ番号を制御すると仮定すると、前のページは $page-1 になるはずです

次のページのページ番号は $page+1 です

そのため、上記のリンクを次のように変更する必要があります:

echo "前のページ
";
echo "次のページ
";
?>

これにより、前ページと次ページのページ番号を送信する方法を誰もが明確に理解できるようになります

しかし、実際の開発では、Web ソフトウェアでユーザーがページにアクセスしたときに、index.php にのみアクセスできるようにすることは不可能です。

それでは、この状況に対処します:

$page = !empty($_GET['page'])?$_GET['page']:1
?>

この時点で $page が指定されていない場合、つまり $_GET['page'] が空の場合、値 1 を $page に直接割り当てます

次のステップでは、データを個別に表示しましょう。つまり、最初のページには最初のページのデータのみが表示され、2 番目のページには 2 ページ目のデータのみが表示されます... Page N は N 番目のページのみを表示します Pageデータ

この場合、ページ単位でデータを表示したい場合はSQL文を操作する必要があります

それでは、データの各ページに 5 つのレコードしか表示されない場合、SQL ステートメントはどのようになるべきでしょうか?

それでは私たちの

最初のページ:

1番目から5番目の項目まで表示されるデータは「limit 0,5」でなければなりません;


2ページ目:

6番目から10番目の項目に表示されるデータは「limit 5,5」である必要があります;


ページ 3:

11 番目から 15 番目の項目までの表示データは「limit 10,5」になります。

......

パターンを見てみましょう

注意して見てください、n 番目のページは次のとおりです

limit (n-1)*各ページに表示されるアイテム数、各ページに表示されるアイテム数

言い換えれば、必要なデータには、現在のページ番号と各ページに表示されるアイテムの数が含まれます

先ほど述べたように、$_GET['page'] を通じて現在のページ番号を取得できます。その後、変数を使用して各ページに表示される項目の数を定義できます。熟練した学生は定数を定義してそれを設定できます。設定内でファイルに移動します

ここでは変数を使用してページサイズを定義し、5に設定します

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

$ページサイズ = 5;

組み立てられたSQL文のlimit句は「limit ($page-1)*$pagesize,$pagesize」である必要があります

この時点で、データのページネーションができました。

しかし、合計ページ数を取得したい場合は、データベースからの合計レコード数もカウントする必要があります

$sql = "mytable から count(*) を選択";

$result = mysql_query($sql);

mysql_result()関数を使用して実行結果を取り出すことができます。

$count = mysql_result($result,0);

それでは、現在の総レコード数は $count です、

データ項目の総数は 9 で、各ページには 5 つの項目が表示されます。ページの総数が 2、つまり ceil(9/5)=2 であると考えてください。

総ページ数を計算する式は ceil($count/$pagesize),


さて、必要なデータがすべて取得され、最終的に SQL ステートメントに組み立てられて表示されると、次のようになります:
//各ページに表示するレコード数を設定します
$pagesize = 5;
// 現在のページ番号を取得します
$page = !empty($_GET['page'])?$_GET['page']:1;
//レコードの総数
$sql = "mytable から count(*) を選択";
$result = mysql_query($sql);
$count = mysql_result($result,0);
// 全部で何ページありますか
$page_count = ceil($count/$pagesize);
// 現在指定されたページ番号が範囲外かどうかを判断します
if($page $page=1;
}elseif($page>$page_count){
$page=$page_count;
}
// SQL ステートメントの組み立てを開始します
$sql = "mytable 制限から id、名前、年齢、性別を選択 ".($page-1)*$pagesize.','.$pagesize;
//SQL文を送信
$result = mysql_query($sql);
//出力フォーム
echo "

";
echo "";
echo "";
//性別配列を定義します
$sex = array('男性','女性');
// 出力結果セットをスキャンします
while($row = mysql_fetch_assoc($result)){
echo "";
echo "";
echo "";
echo "";
[backcolor=#ffffff][color=#008ef1]エコー "";[/color][/backcolor]
}
echo "
ユーザー名 年齢 性別 ";
echo "
".$row['name']."".$row['age']."".$sex[$row['sex']]."
";
//リンクを表示するためにページネーションを追加します
$up = (($page-1) $down = (($page+1)>$page_count)?$page_count:($page+1);
echo "前のページ ";
echo "次のページ ";
echo "合計".$page_count."ページ";
echo "現在のページ ".$page." ";
echo "合計".$count."レコード";
?>
さて、ページング機能を追加しました。とても簡単ではないでしょうか?

ページングの具体的な手順をまとめてみましょう:

ステップ 1: ページ サイズ (各ページに表示するアイテムの数) を設定します

ステップ 2: 現在のページ番号を取得する

ステップ 3: レコードの総数を取得する

ステップ 4: 総ページ数を取得する

ステップ 5: 現在指定されたページ番号が範囲外かどうかを判断します

ステップ 6: SQL ステートメントを組み立てる

ステップ 7: SQL ステートメントを mysql サーバーに送信する

ステップ 8: 結果セットをトラバースして出力する

ステップ 9: ページネーションリンクを追加する

上記の Jie Ge の Jiuyang Magic Skills の武術の秘密を覚えていれば、学生は PHP の武術キリング フィールドをゆっくりと乗り切ることができると思います



著者 zdrjlamp

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478277.html技術記事上記の記事 http://www.2cto.com/kf/201204/128413.html では、再帰関数の動作メカニズムと使用法について説明しましたが、理解できない場合はわかりません。 、以下からご質問いただけます。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。Apr 17, 2025 am 12:22 AM

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHP:サーバー側のスクリプト言語の紹介PHP:サーバー側のスクリプト言語の紹介Apr 16, 2025 am 12:18 AM

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPとWeb:その長期的な影響を調査しますPHPとWeb:その長期的な影響を調査しますApr 16, 2025 am 12:17 AM

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

なぜPHPを使用するのですか?利点と利点が説明されましたなぜPHPを使用するのですか?利点と利点が説明されましたApr 16, 2025 am 12:16 AM

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

Safe Exam Browser

Safe Exam Browser

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール