PHPの原理と0から1行(14)データのページング表示の実装
ゼロから作るPHP単行 (14) データのページング表示の原理と実装
ページング表示はWEBプログラミングにおいて最も頻繁に処理されるリンクの一つです。いわゆるページング表示とは、プログラムを通じて結果セットを少しずつ表示することです。ページング表示を実現するには、各ページに表示されるレコードの数と現在のページが何ページであるかという 2 つの初期パラメータが必要です。完全な結果セットと組み合わせることで、データのページ分割表示を実現できます。前のページ、次のページなどの他の機能については、すべて上記の情報に基づいて処理できます。
テーブル内の最初の 10 レコードを取得するには、次の SQL ステートメントを使用できます。
SELECT * FROM a_table LIMIT 0,10
11 番目から 20 番目のレコードを検索するには、SQL ステートメントを使用します。
SELECT * FROM a_table LIMIT 10,10
21 番目から 30 番目のレコードを検索する場合、使用する SQL ステートメントは次のとおりです。
SELECT * FROM a_table LIMIT 20,10
上記のSQL文からわかるように、毎回10件のレコードを取得するということは、各ページに10件のデータを表示するのと同等であり、毎回取得するレコードの開始位置と、現在の期間のページ数 関係: 開始位置 = (現在のページ番号 - 1) * 各ページに表示されるレコードの数。変数 $page_size が各ページに表示されるレコード数を表し、変数 $cur_page が現在のページ番号を表す場合、上記の内容は、以下に示す SQL ステートメント テンプレートによって要約できます:
select * from table limit ($cur_page-1)*$page_size,$page_size;
このようにして、ページング中のデータを取得するためのSQL文が得られます。このうち、$page_size は実際の開発に応じて固定値として設定でき、実際の開発では現在のページ $cur_page をパラメータで渡すことができます。また、データが表示される総ページ数は、総レコード数と各ページに表示されるレコード数から計算できます。たとえば、レコードの総数を各ページに表示されるレコードの数で割っても余りがない場合、ページの総数は 2 つの商になります。
<?php$host='localhost';$user_name='root';$password='helloworld';$conn=mysql_connect($host,$user_name,$password);if(!$conn){ die('FAIL!'.mysql_error());}mysql_select_db('test');if(isset($_GET['page'])){ $page=$_GET['page'];}else{ $page=1;}$page_size=2;$sql='select * from users';$result=mysql_query($sql);$total=mysql_num_rows($result);if($total){ if($total<$page_size) $page_count=1; if($total%$page_size) { $page_count=(int)($total/$page_size)+1; } else { $page_count=$total/$page_size; }}else{ $page_count=0;}$turn_page='';if($page==1){ $turn_page.='Index | Before |';}else{ $turn_page.='<a href=13-8.php?page=1>Index</a> | <a href=13-8.php?page='.($page-1).'>Before</a> |';}if($page==$page_count || $page_count==0){ $turn_page.='Next | Last';}else{ $turn_page.='<a href=13-8.php?page='.($page+1).'> Next </a> | <a href=13-8.php?page='.$page_count.'> Last </a>';}$sql='select id,name,sex,age from users limit '.($page-1)*$page_size.','.$page_size;$result=mysql_query($sql) OR die ("<br/>ERROR:<b>".mysql_error()."</b><br/>SQL:".$sql);?><html><head><title>13-8.php</title></head><body><table width="75%" border="0" cellpadding="0" cellspacing="1" bgcolor="#7b7b84"><tr bgcolor="#8bbcc7"><td height="33"><div align="center"><strong>ID</strong></div></td><td><div align="center"><strong>Name</strong></div></td><td><div align="center"><strong>Sex</strong></div></td><td><div align="center"><strong>Age</strong></div></td></tr><?phpif($num=mysql_num_rows($result)){ while($row=mysql_fetch_array($result,MYSQL_ASSOC)) { ?> <tr bgcolor="#FFFFFF"> <td height="22" align="right"><?php echo $row['id']; ?> </td> <td height="22"> <?php echo $row['name']; ?> </td> <td height="22"> <?php echo $row['sex']; ?> </td> <td height="22"> <?php echo $row['age']; ?> </td> </tr> <?php }}echo $turn_page;mysql_close($conn);?></body></html>
************************
POST GET、送信には 2 つの方法がありますform 、$_GET を使用して GET 値を取得し、$_POST を使用して POST 経由でフォームを送信します
post と get の違いは、一方はアドレス バーにパラメータを表示し、もう一方はパラメータを表示しないことです
たとえば、ログインすると get メソッドを使用すると、アドレスバーに値が表示されるため、セキュリティはまったくありません
そして、検索またはページ番号がある場合は、post to を使用しますアドレス バーのパラメーターを非表示にするため、意味がありません
$_GET を使用して、ブラウザーのアドレス バー (疑問符の後の文字列) のパラメーターの値 (www.baidu.com など) を取得します。 /s?wd=123 の場合、$_GET を使用すると、パラメータを取得できます (パラメータはイベント、アクション、またはパラメータとして理解でき、値はフォームを渡すときの入力の名前と一致します)。 ?an=0&si =5 のように、複数のパラメータがアンパサンドで接続されている場合は、an パラメータの値が 0 であり、si パラメータの値が 5 であることを意味すると理解されます。
**********************
たとえば、www.iron-feet cn/ というアドレスを入力します。 ?page=2
$_GET["page"] は、アドレス上のページの値、つまり 2

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

ホットトピック











MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

MySQLをエレガントにインストールするための鍵は、公式のMySQLリポジトリを追加することです。特定の手順は次のとおりです。MYSQLの公式GPGキーをダウンロードして、フィッシング攻撃を防ぎます。 mysqlリポジトリファイルを追加:rpm -uvh https://dev.mysql.com/get/mysql80-community-rease-el7-3.noarch.rpm update yumリポジトリキャッシュ:yumアップデートインストールmysql:yumインストールmysql-server startup mysql sportin
