シンプルなページング

Jun 13, 2016 pm 01:12 PM
count page sql static

简易分页类
这是一个简单易用的分页类。只需在你原有的程序中加两句、改一句就可以了
先贴代码
paging.php

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php
class Paging {
  public static $count = 0;
  public static $size = 0;
  public static $page = 0;
  static function prepare($sql, $pagesize=10) {
    $page = isset($_GET['page']) ? $_GET['page'] : 1;
    $pageon = ($page - 1) * $pagesize;
    $sql = preg_replace('/select\s/i', '$0SQL_CALC_FOUND_ROWS ', $sql) . " limit $pageon, $pagesize";
    $rs = mysql_query($sql);
    $p = mysql_query('SELECT FOUND_ROWS()');
    list(self::$count) = mysql_fetch_row($p);
    self::$size = $pagesize;
    self::$page = $page;
    return $rs;
  }
  static function bar($tpl='') {
    if(!$tpl) $tpl = '<a href=?reset>首页</a> <a href=?prve>上一页</a> <a href=?next>下一页</a> <a href=?end>尾页</a>';
    $count = ceil(self::$count / self::$size);
    $page = self::$page;
    unset($_GET['page']);
    $d = array(
      'reset' => 1,
      'prve' => $page > 1 ? $page - 1 : 1,
      'next' => $page < $count ? $page + 1 : $count,
      'end' => $count,
    );
    foreach($d as $k=>$v) {
      $_GET['page'] = $v;
      $tpl = str_replace($k, http_build_query($_GET), $tpl);
    }
    echo $tpl;
  }
}


通常你都有类似这样的语句
$sql =".....";
$rs = mysql_query($sql);

$rs = mysql_query("select ....");


你只需改作
include 'paging.php';
$rs = paging::prepare($sql, 每页行数);
在需要出现分页条的地方写入
paging::bar();

就可以了,非常简单!


------解决方案--------------------
前排拜模。
这样的写法还是第一次见到。
 $sql = preg_replace('/select\s/i', '$0SQL_CALC_FOUND_ROWS ', $sql) . " limit $pageon, $pagesize";

sql还用preg_replace……
------解决方案--------------------

谢谢分享,确实很方便 ,简单易用 。学习了。
------解决方案--------------------
探讨
这是一个简单易用的分页类。只需在你原有的程序中加两句、改一句就可以了
先贴代码
paging.php
PHP code
class Paging {
public static $count = 0;
public static $size = 0;
public static $page = 0;
static function prepare($sql, $……
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

SQLで今年の初日と最終日を取得するにはどうすればよいですか? SQLで今年の初日と最終日を取得するにはどうすればよいですか? Aug 11, 2025 pm 05:42 PM

dayearisobtainded byconstructatingtinatinating at -stofthegivenyear、およびtheLastDayisdecember31STHESAMEYEAR、withMethodsvarydAtabaseystem;

SQLで列の合計を見つける方法は? SQLで列の合計を見つける方法は? Aug 08, 2025 pm 05:54 PM

tofindthesumofacolumninsql、usethesum()function、それはnumersolumn whienignoringnulls;

SQL実行コンテキストと許可を理解する SQL実行コンテキストと許可を理解する Aug 16, 2025 am 08:57 AM

SQL実行コンテキストとは、SQLステートメントを実行する際のIDまたは役割を指します。これにより、どのリソースと操作許可にアクセスできるかが決定されます。許可設定は、最小許可の原則に従う必要があり、一般的な権限には、選択、挿入、実行などが含まれます。許可の問題をトラブルシューティングするには、ログイン名、役割許可、エグゼキューアズ設定、スキーマ認証を確認する必要があります。コンテキストのスイッチングの実行は、Executeasを通じて実装できますが、ユーザーの存在、許可許可、パフォーマンスセキュリティの影響に注意を払う必要があります。 db_ownerまたはsysadminの役割を任意に割り当てないようにすることをお勧めします。アプリケーションアカウントは、必要なオブジェクトのみにアクセスし、スキーマを通じて承認される必要があります。

SQLでテーブルに参加する方法 SQLでテーブルに参加する方法 Aug 16, 2025 am 09:37 AM

aself-joinisusedtocomparerowswiths sesametable、sutsinhierarchicaldatalike employe-managerrelationships、by treating by treating woseparateinstancessingingingisaliase、asdemontatedemployedployeeeeeeeSalongdeTheirmanagers'swithointjointopopointopecludecludetocludetoclutocludetopointopointopを

SQLのAlter Tableステートメントは何ですか? SQLのAlter Tableステートメントは何ですか? Aug 08, 2025 pm 02:13 PM

thealtertabletatementisusedtomodifyAnexistingtable’sstructurewithoutrecreatingit; 1.addanewcolumnusingadddcolumn; 2.dopacolumn withdropcolumn、whialsodeletesitsdata; 3.renameacolumnusingrenamecolumn、withsyntaxconsistenmysql、sqlserver、およびpostgresql; 4

SQLでビューを作成する方法 SQLでビューを作成する方法 Aug 11, 2025 pm 12:40 PM

ビューを作成するための構文は、createviewview_nameasselectステートメントです。 2。ビューは実際のデータを保存しませんが、基礎となるテーブルのリアルタイムクエリ結果に基づいています。 3。createorreplaceviewを使用して、ビューを変更できます。 4.ビューは、Dropviewを介して削除できます。 5.ビューは、複雑なクエリを簡素化し、データアクセス制御を提供し、インターフェイスの一貫性を維持するのに適していますが、パフォーマンスとロジックに注意を払う必要があり、最終的に完全な文で終わります。

SQLで完全な外側結合を使用する方法は? SQLで完全な外側結合を使用する方法は? Aug 17, 2025 am 12:25 AM

afullouterjoinreturnsallrowsfrombothtables、withnullswherenomatchexists; 1)itcombinesmatchingRecordsandIncludedsunmatchedRowsfromtheftreftandandandandandantables;

SQLクエリで返される行の数をどのように制限しますか? SQLクエリで返される行の数をどのように制限しますか? Aug 08, 2025 pm 05:46 PM

tolimitrowsinasqlquery、usetheappofrateclase basedonyourdatabasestystem:1.formysql、postgresql、andsqlite、uselimit10; 、andnewerpostgresql、usefetchfirst10rowsonly; 4.forolderoraclev

See all articles