上記の記事 http://www.BkJia.com/kf/201204/128413.html では、再帰関数の動作メカニズムと使用法について説明しましたが、理解できているかどうかはわかりません。ご理解いただければ、いつでもご質問いただけます。
過去 2 日間で、多くの学生が質問するときにページングに質問を追加しました。そこで、今日はページング技術の応用について詳しく説明します:
一部の Web アプリケーションでは美しいページネーションがよく見られます
次のページをクリックすると、次のページのコンテンツが表示され、ページがより美しくなります。
この記事の説明を読めば、学生さんも美しいページネーションを書けるようになると思います
これで、次のデータを含む mytable という名前のデータテーブルができました。
echo "前のページ
";
echo "次のページ
";
echo "アイテムの合計";
?>
変数 $page を使用して現在のページ番号を制御すると仮定すると、前のページは $page-1 になるはずです
次のページのページ番号は $page+1 です
そのため、上記のリンクを次のように変更する必要があります:
echo "前のページ
";
echo "次のページ
";
?>
これにより、前ページと次ページのページ番号を送信する方法を誰もが明確に理解できるようになります
それでは、この状況に対処します:
$page = !empty($_GET['page'])?$_GET['page']:1次のステップでは、データを個別に表示しましょう。つまり、最初のページには最初のページのデータのみが表示され、2 番目のページには 2 ページ目のデータのみが表示されます... Page N は N 番目のページのみを表示します Pageデータ
この場合、ページ単位でデータを表示したい場合はSQL文を操作する必要があります
それでは、データの各ページに 5 つのレコードしか表示されない場合、SQL ステートメントはどのようになるべきでしょうか?
それでは私たちの
最初のページ:
1番目から5番目の項目まで表示されるデータは「limit 0,5」でなければなりません;
2ページ目:
ページ 3:
......
注意して見てください、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<1){
$page=1;
}elseif($page>$page_count){
$page=$page_count;
}
// SQL ステートメントの組み立てを開始します
$sql = "mytable 制限から id、名前、年齢、性別を選択 ".($page-1)*$pagesize.','.$pagesize;
//SQL文を送信
$result = mysql_query($sql);
//出力フォーム
echo "
ユーザー名 | 年齢 | 性別 | "; echo " |
---|---|---|---|
".$row['name']." | ";".$row['age']." | ";".$sex[$row['sex']]." | ";
ページングの具体的な手順をまとめてみましょう:
ステップ 1: ページ サイズ (各ページに表示するアイテムの数) を設定します
ステップ 2: 現在のページ番号を取得する
ステップ 3: レコードの総数を取得する
ステップ 4: 総ページ数を取得する
ステップ 5: 現在指定されたページ番号が範囲外かどうかを判断します
ステップ 6: SQL ステートメントを組み立てる
ステップ 7: SQL ステートメントを mysql サーバーに送信する
ステップ 8: 結果セットをトラバースして出力する
ステップ 9: ページネーションリンクを追加する
上記の Jie Ge の Jiuyang Magic Skills の武術の秘密を覚えていれば、学生は PHP の武術キリング フィールドをゆっくりと乗り切ることができると思います
著者 zdrjlamp