いわゆるページング表示とは、データベース内の結果セットを表示のために人為的にセグメントに分割することを意味します。ここでは 2 つの初期パラメーターが必要です。
1 ページあたりのレコード数 ($PageSize)?
現在のページ ($CurrentPageID) は何ページですか?
ここで、別の結果セットを与えるだけで、特定の結果を表示できます。
前のページ ($PReviousPageID)、次のページ ($NextPageID)、総ページ数 ($numPages) などの他のパラメーターについては、すべて前述の内容に基づいて取得できます。
MySQL データベースを例にとると、テーブルから特定のコンテンツをインターセプトしたい場合は、SQL ステートメントを使用できます: select * from table limit offset, rows。次の一連の SQL ステートメントを見て、ルールを見つけてください。
最初の 10 レコード: select * from table 制限 0,10
レコード 11 ~ 20: * テーブル制限 10,10 から選択
レコード 21 ~ 30: * テーブル制限 20,10 から選択
…
この SQL ステートメントのセットは、実際には、$PageSize=10 の場合にテーブル内の各ページからデータをフェッチするための SQL ステートメントです。このようなテンプレートを要約すると、次のようになります。
select * テーブル制限 ($CurrentPageID - 1) * $PageSize, $PageSize
から
このテンプレートを取得し、対応する値を置き換えて、上記の一連の SQL ステートメントと比較して、該当するかどうかを確認します。データを取得する方法という最も重要な問題を解決したら、あとはパラメータを渡し、適切な SQL ステートメントを作成し、PHP を使用してデータベースからデータを取得して表示するだけです。以下、具体的なコードを用いて説明していきます。
3. 簡単なコード
次のコードを詳しく読んで、自分でデバッグして実行してください。コードを変更して、検索などの独自の機能を追加するのが最善です。
[php]
// データベース接続を確立します
$link = mysql_connect("localhost", "mysql_user", "mysql_passWord")
または die("接続できませんでした: " .mysql_error());
// 現在のページ番号を取得します
if( isset($_GET['page']) ){
$page = intval( $_GET['page'] );
}
他{
$ページ = 1;
}
//ページごとの数量
$ページサイズ = 10;
// 総データ量を取得します
$sql = "テーブルから count(*) を金額として選択します";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$amount = $row['amount']
// 合計ページ数を計算します
if( $amount ){
If ($ amount % $ page_size) {// 合計データ量を取得し、それをページあたりの数値の余りで割ります
$ page_count =(int)($ hisom / $ page_size) + 1;
}その他{
$page_count = $amount / $page_size; //余りがない場合、ページ数は総データ量をページごとのページ数で割ったものとなります
}
}
他{
$ページ数 = 0;
}
// ページめくりリンク
$page_string = '';
if( $page == 1 ){
$page_string .= '最初のページ|前のページ|';
}
他{
$page_string .= '最初のページ|前のページ a>|' ;
}
if( ($page == $page_count) || ($page_count == 0) ){
$page_string .= '次のページ|最後のページ';
}
他{
$page_string .= '次のページ| ;/a>';
}
// データを取得し、結果を 2 次元配列形式で返します
if( $amount ){
$sql = "select * from table order by id desc limit ".($page-1)*$page_size .", $page_size";
$result = mysql_query($sql);
while ( $row = mysql_fetch_row($result) ){
$rowset[] = $row;
}
}その他{
$rowset = 配列();
}
// 結果を表示するコードがないため、これについては説明の範囲を超えています。foreach を使用して、取得した 2 次元配列を使用して結果を表示するだけです。
?>
http://www.bkjia.com/PHPjc/477883.html