メッセージボード_PHPチュートリアルに基づいたphpによるページングプログラムの詳細な説明
この記事では、PHP でのページングの原理に焦点を当てています。同時に、PHP でページングを実装する方法を説明します。これは、必要な方は参考にしてください。初心者に非常に適しています。
ページングの重要な問題は、実際には、Mysql のキーワード制限に続く 2 つの数値にあります。最初の数値は、記録する必要がある開始行番号であり、2 番目の数値は、この開始行番号の後に取得されるレコードの行数です。 --スタートラインとゴールラインを間違えないでください。大きな違いがあります。
index.php の 19 行目を見てください:
コードは次のとおりです | コードをコピー |
$recordSql = $sql.” LIMIT “.$page*$pagesize.”,”.$pagesize; |
変数 $page の判定は、プログラムの 8 行目と 9 行目で取得されます。
コードは次のとおりです | コードをコピー |
if(isset($_GET['page'])&&$_GET['page']!=”) $page=$_GET['page']; |
もちろん、$_GET['page'] 変数も見たことがありますが、これについては以下で説明します。
7 行目で変数 $pagesize を定義します。つまり、各ページに表示されるレコードの数を 10 と定義します。変数 $page=0 の場合、ステートメントは最終的に次のようになります:
コードは次のとおりです | コードをコピー |
$recordSql = "SELECT a . * 、b.name、b.email、b.qq、c.revert_time、c.revert 投稿から LEFT JOIN revert c ON ( a.id = c.post_id ) 、ゲスト b WHERE a.guest_id = b.id a.id DESC で注文 " リミット 0,10"; |
0 レコードから開始して 10 レコードの結果を取得します。これには 0 番目のレコードが含まれます。
$page=1 の場合はどうなるでしょうか?ご想像のとおり、現時点では $page*$pagesize=10 ですが、もちろん今までそんなことはありませんでした...これ以上は言いません、言うと長くなるでしょう。
コードをコピー | ||||||||||
|
コードは次のとおりです | コードをコピー |
レコードの総数、$numRecord = mysql_num_rows(mysql_query($sql)); 総ページ数、$totalpage = ceil($numRecord/$pagesize); |
「前ページ、次ページ」の表示方法以外は何も不足していません。index.php の 159 ~ 163 行目を見てください。非常に簡単です。
160行目:
コードをコピー | ||||||||||
|
コードをコピー | |
$pagesize = 10;//各ページに表示されるメッセージレコードの数
if(isset($_GET['page'])&&$_GET['page']!='') $page=$_GET['page'];
投稿から
$result = mysql_query($recordSql);
while($rs=mysql_fetch_object($result)){ |
|
送信者: name?> |電子メール: email?>|QQ:qq?>|メッセージ時刻: post_time+8*3600)?> | > ;|
"delete.php?id=id?>">削除 | |
メッセージの内容: post))?> 返信内容:revert))?>[revert_time!="") echo date("Y-m-d H:i: s",$rs->revert_time+8*3600)?> ] |
|
if($page>0) echo "前のページ|" if($page次のページ" ?> |

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
