ホームページ >バックエンド開発 >PHPチュートリアル >PHP ページング コード例 (適応範囲)

PHP ページング コード例 (適応範囲)

WBOY
WBOYオリジナル
2016-07-25 08:52:121206ブラウズ
  1. /*

  2. * mysql ページング関数コード
  3. * edit: bbs.it-home.org
  4. *
  5. */
  6. function page($page,$total,$ phpfile,$pagesize=10,$pagelen=7){
  7. $pagecode = '';//ページングによって生成された HTML を保存する変数を定義します
  8. $page = intval($page);//数値以外のページ番号を避ける
  9. $total = intval($total);//合計レコード値の型が正しいことを確認します
  10. if(!$total) return array();//レコードの合計数がゼロの場合は、空の配列を返します
  11. $pages = ceil($total/$pagesize);/ /合計ページ数を計算します
  12. //ページ番号の正当性を処理します
  13. if($page<1) $page = 1; $page = $pages;
  14. //クエリオフセットの計算
  15. $offset = $pagesize*($page-1);
  16. //ページ番号範囲の計算
  17. $init = 1;//開始ページ番号
  18. $max = $pages;//終了ページnumber
  19. $pagelen = ($pagelen%2 )?$pagelen:$pagelen+1;//ページ番号の数
  20. $pageoffset = ($pagelen-1)/2;//ページ番号の左右のオフセット< ;/p>
  21. //HTML を生成

  22. $pagecode='
    ';
  23. $pagecode.="$page/$pages" ;//どのページ、合計何ページ
  24. / /最初のページの場合、最初のページと前のページのつながりは表示されません
  25. if($page!=1){
  26. $pagecode.= "<<";//最初のページ
  27. $pagecode.=" <";//前のページ
  28. }
  29. //ページ数がページ数より大きい場合、 offset
  30. if($pages>$pagelen){
  31. //現在のページが左のオフセット以下の場合 Shift
  32. if($page<=$pageoffset){
  33. $init=1; pagelen;
  34. }else{//現在のページが左のオフセットより大きい場合
  35. //現在のページ番号の右のオフセットが最大ページ数を超えている場合
  36. if($page+$pageoffset>=$pages+1){
  37. $init = $pages-$pagelen+1;
  38. }else{
  39. //左右両方のオフセットが存在する場合の計算
  40. $max = $page+$pageoffset; }
  41. //HTML を生成
  42. for($i=$init;$i<=$max;$i++){
  43. if($i= =$page){
  44. $pagecode.=''.$ i.'';
  45. } else {
  46. $pagecode.="$i";
  47. }
  48. if($page!=$pages){
  49. $pagecode.=">";//次のページ
  50. $pagecode.=">>";//最後のページ
  51. }
  52. $pagecode.="
";
  • return array('pagecode'=>$pagecode ,'sqllimit'=>' '.$offset.','.$pagesize );
  • }
  • ?

  • コードをコピー
  • 2、ページ番号ジャンプテキストフレームを追加
  • $phpfile = 'index.php';//ページファイル名

    $page= isset($_GET['page'])?$_GET['page']:1; //デフォルトのページ番号
    $db = mysql_connect('localhost','test','test'); //データベースをリンク
    mysql_select_db('test',$db) //データベースを選択
      $counts = mysql_num_rows(mysql_query) ( 'select `id` from `test`',$db));//必要なデータの総数を取得
    1. $sql='select `id`,`title` from `test`';//クエリ文を定義SQL
    2. $getpageinfo = page($page,$counts,$phpfile);// ページング HTML と SQL LIMIT 句を生成する関数を呼び出します
    3. $sql.=$getpageinfo['sqllimit'];// 完全な SQL ステートメントを結合します
    4. $data = $row = array();//配列を初期化します
    5. $result = mysql_query($sql,$db);//結果セットを取得します
    6. //データを$data配列にロードします
    7. while($ row = mysql_fetch_array( $result)){
    8. $data[]=$row;
    9. ?>
    10. echo $getpageinfo['pagecode'];// ページネーション HTML コードを表示します
    11. ?>
    12. コードをコピー
    13. 3、コードで使用されているこのページング クエリ CSS スタイル シート ファイル。
      1. コードをコピー
      2. 推奨読書:

        • phpとajaxには更新ページングコードはありません
        • php記事ページング実装コード
        • PHP 制限ページめくり (ページネーション) コード
        • 複数のページングメソッドを備えたPHPページングクラス
        • 前ページと次ページの PHP ページネーション コード
        • 最初の 10 ページと次の 10 ページの PHP ページング コード
        • 単純なPHPページネーションコードの例
        • 優れたPHPページングクラスコード
        • ページング機能: 前ページ 次ページ
        • 便利なPHPページングクラス
        • php長い記事のページネーションコード
        • 実践的なPHPページングクラス
        • 高速PHPページングクラス


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