..
私たちの両方のPHPのガイド言語に捧げられた以前の記事で、我々はすでに別の方法PHP / MySQLのでは勝ちの組み合わせを作る方法を見てきた、。
特に、我々はすでにDBからデータを抽出する方法を見てきたが、私たちは、"問題は"非常に一般的であるに対処するために、"忘れ"て、それは次のとおりで 、 複数のページに分けることができるようにデータベース内のレコードは、特に多数のとき?
この記事では、実際には、我々のデータベース内の指定されたテーブル内で大量のデータのページングを行う方法が表示されます。
以下に例を示します:ID、名前 、 電話、そしてこのテーブルは100個のレコードが設定されていることを言う:3つのフィールドで構成されて、scheduleという表があるとしましょう:

実用的な例を見てみましょう:
<?
/ /レコード数を設定する変数を作成します。
/ /各ページに表示する
$ X_pag = 5;
/ /現在のページ番号を取得します。
/ /通常は、クエリ文字列を使用してください
$ページ= $ _GET ['ページ'];
$ページが拡張されている場合/ /チェック...
/ / ...そうでなければ、私は値1を割り当てます。
場合($ページ)$ページ= 1;
/ /私はデータベースに接続
で、$ conn = mysql_connect("localhost"を、"ユーザー"、"パスワード");
mysql_select_db("DB_NAME"、$ connが)。
/ /行をカウントするためにmysql_num_rowsを使用して、
テーブルのカレンダーで、/ /
$ ALL_ROWS = mysql_num_rows(するmysql_query("アジェンダからSELECT ID"));
/ /動作の数学的なコールを使用
/ /総ページ数
All_pagesは= $ CEIL($ ALL_ROWS / $ x_pag);
/ /計算を開始するレコードの
まず$ =($ページ - 1)* $ x_pag。
/ /現在のページのレコードを検索する...
使用するための/ /最初から$をLIMITとx_pag $までカウント
$ルピー=するmysql_query("カレンダーのLIMIT最初の$、$ x_pag SELECT * FROM");
$ NR = mysql_num_rows($ RS);
場合($ NR!= 0){
{;(X $ <$ nは、$ x + +は$ x = 0)のための
$行=するmysql_fetch_assoc($ RS);
エコー"の<table> <TR>";
エコー"<TD>"。
$行['id']の。
"</ TD>";
エコー"<TD>"。
$行['名前']。
"</ TD>";
エコー"<TD>"。
$行['電話']。
"</ TD>";
エコー"</ TR> </ TABLE>";
}
他に{}
"見つかりませんレコードを!"エコーなし
}
総ページ数は1以上です/ /場合...
異なるページ間を行き来する/ /プリントのリンク!
するif($ all_pages> 1){
するif($ページ> 1){
エコー"<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag-1. "\">";
}
するif($ all_pages> $ページ){
エコー"<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag + 1. "\">";
エコー"次のページへ</>";
}
}
DBへの/ /接続を閉じる
mysql_close($ connが)。
?>
コードがよくコメントしている、従って、更なる説明の必要はないと思います。
| |
Linuxの(コース)
オープンソースシステムへの完全なガイド。 49€から。 |
| |
MySQLの(コース)
オープンソースのデータベースの管理。 39€から。 |
| |
PHP(コース)
動的なWebサイトを作成するためのフルコース。 49€から。 |