ホームページ  >  記事  >  バックエンド開発  >  ページング効果、PHP テキスト ページング、および数値ページングを実現する PHP 関数

ページング効果、PHP テキスト ページング、および数値ページングを実現する PHP 関数

WBOY
WBOYオリジナル
2016-07-25 08:52:331502ブラウズ
  1. //ページング
  2. /**
  3. * $pageType ページング タイプ 1 は数値ページング、2 はテキスト ページングです
  4. * $pageTotal、$page、$total およびその他のデータをパラメータとして渡すことも、ページングのグローバル変数として使用することもできます (推奨)
  5. */
  6. function paging($pageType)
  7. {
  8. global $pageTotal,$page,$total;
  9. if($pageType == 1)
  10. {
  11. echo '
    ';
  12. echo'
      ';
    • for($i=0; $i < $pageTotal; $i++)
    • {
    • if($page == ( $i+1))
    • {
    • echo '
    • '.($i +1).'
    • ';
    • }
    • else
    • {
    • echo '
    • '.($i+1).'
    • ';
    • }
    • }
    • echo'
    ';
  13. echo'
' ;
  • }
  • else if($pageType == 2)
  • {
  • echo '
    ';
  • echo '
  • //ページングパラメータのパッケージ化/*** $sql はデータの総数の SQL ステートメントを取得できます * $size は各ページのアイテム数を表示します

    */

    function pageParam($sql,$size)

    {

    //関係するすべてのパラメータをグローバル変数に設定します
    // $pagestartsomewhereページ開始
    // $total レコード総数 $page 特定のページ $pageTotal ページ総数
      global $pagestart,$pagesize,$total,$page,$pageTotal;
    1. $pagesize = $size;
    2. //データの総数を取得します
    3. $total = mysql_num_rows(queryDB($sql));
    4. // エラー処理、最初にデータが存在するかどうかを判断します
    5. if(isset($_GET['page']))
    6. {
    7. //特定のページ
    8. $page = $_GET['page'];
    9. // 空かどうか (0 は空)/0 未満/数値かどうかを判断します
    10. if(empty($page) || $page < 0 || !is_numeric ($page))
    11. {
    12. $page = 1;
    13. }
    14. else
    15. {
    16. $page = intval($page); //小数点を表示しないように四捨五入します
    17. }
    18. }
    19. else
    20. {
    21. //初期化 ページ1を表示
    22. $page = 1;
    23. }
    24. //データベースをクリア
    25. if($total == 0)
    26. {
    27. //1に設定
    28. $pageTotal = 1;
    29. }
    30. else
    31. {
    32. / / ページングの総ページ数 (さらに四捨五入)
    33. $pageTotal = ceil($total / $pagesize);
    34. }
    35. // ページ数が総ページ数 $total より大きい
    36. if($page > $pageTotal)
    37. {
    38. $page = $pageTotal;
    39. }
    40. // 特定のレコードからページが始まる場合
    41. $pagestart = ($page - 1) * $pagesize;
    42. }
    43. コードをコピー
    44. パラメータの説明: $pagestart はページが特定のレコードから始まるとき、$pagesize は各ページに表示されるレコードの数です
    45. 3. 使用中は、まず pageParam を呼び出し、次に paging を呼び出します。
    /*** 1 つ目はデータの総数の SQL ステートメントを取得できます * 2 つ目は各ページのアイテム数を表示できます
    */

    pageParam("select userid from user",2);

    //ページングタイプ 1 は数値ページング 2 はテキストページング

    paging(2 );
    ?>

    1. コードをコピー
    2. 4. 特定の状況に応じて呼び出し場所が選択され、テキストがページ分割されます。
    3. //ページングタイプ 1 はデジタルページング 2 はテキストページング
    paging(1);?>コードをコピー


    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。