ホームページ  >  記事  >  バックエンド開発  >  php mysqlページング実装コード_PHPチュートリアル

php mysqlページング実装コード_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 16:54:51864ブラウズ

これは、フォーム入力ジャンプと選択ジャンプ ページングをサポートし、前の 10 ページと次の 10 ページのオフセット ページングもサポートします。 */

これは、フォーム入力ジャンプと選択ジャンプ ページングをサポートし、前の 10 ページと次の 10 ページのオフセット ページングもサポートします。
*/

クラス風ページ
{
var $page;
//現在のページ
var $total;
//レコードの総数
var $totalpage;
//合計ページツリー
var $pagesize;
//各ページに表示されるアイテム数
var $offset;
//オフセット
var $result;
//レコードコレクション
var $thispage;
//総レコード数 //総レコード数 //総レコード数
var $link;
//接続(レコード$_get変数)
var $bar_mun;
//バーで表示されるページ数
var $starttime;
//開始時間
var $bar_last;
//ナビゲーションバーの連続ページ数
var $bar_mid;
//ナビゲーションバーの中央ページ
var $minpage;
//ナビゲーションバーの最小ページ
var $maxpage;
//ナビゲーションバーの最大ページ数
var $key;
// ページネーションを識別します (1 ページに複数のページネーションがある場合に区別するために使用されます)
var $style;
//出力スタイル
var $pre_page_char;
//前のページ
var $pre_page_image;
//前のページのグラフィック
var $pre_page_char_color;
//前のページのフォントの色
var $next_page_char;
//次のページ
var $next_page_image;
//次のページのグラフィック
var $next_page_char_color;
//次のページのフォントの色
var $pre_groud_char;
//真ん中のページをめくってください
var $pre_groud_char_color;
//中ページをめくった時の数字のフォント色
var $next_groud_char;
//真ん中のページをめくってください
var $next_groud_char_color;
//中ページをめくった時の数字のフォント色
var $first_page_char;
//ホームページ
var $first_page_char_color;
//ホームページのフォントの色
var $last_page_char;
//最後のページ
var $last_page_char_color;
//最後のページのフォントの色
var $html_page_val;
//html 現在のページ番号の値

Function Wind_page($sql, $pagesize = 20, $bar_mun = 10, $style = 1,$this_page = 1,$html_page_val=1,$key = "") //Constructor()
{
$this->starttime = microtime();
$this->pagesize = $pagesize;
//各ページに表示されるアイテム数
$this->key = トリム($key);
$this->bar_mun = $bar_mun;
$this->style = $style;
$this->html_page_val = $html_page_val;
//html 現在のページ番号の値
$this->bar_last = $bar_mun-1;
$this->bar_mid = Floor($bar_mun/2);
$this->sql = $sql;
$result = mysqltutorial_query($this->sql);
$this->total = mysql_num_rows($result);
//レコードの総数
$this->totalpage = ceil($this->total/$this->pagesize);
//総ページ数
//$this->page = ceil($_get[$this->key."page"]);
$this->page = $this_page;
        //现在在页
        if ($this->page == "" || $this->page page))$this->page = 1;
        $this->page = min($this->page, $this->totalpage);
        $this->thispage = $this->ページサイズ;
        if ($this->page * $this->pagesize > $this->total) {
            $this->thispage = $this->total-($this->page-1) * $this->pagesize;
        };
        $this->sql .= " 制限 ".($this->pagesize * ($this->page-1)).", ".$this->pagesize;
          //開始读取の条数
       //エコー "
";
        $this->result = mysql_query($this->sql);
        $this->getvar();
       
        $this->pre_page_char = "上一页";
        $this->pre_page_image = "";
        $this->next_page_char = "下一页";
        $this->next_page_image = "";
        $this->pre_groud_char = "上一组";
        $this->next_groud_char = "下一组";

}
   
    function getvar() //ページ外の取得その他get变量
    {
        $this->link = "";
        foreach($_get as $key => $vaule) {
            if (strto lower($key) !== $this->key."page") $this->link .= "&$key=$vaule";
        }
    }
    
    function pre_page($color="#909090",$sign=0) //上一页
    {
        if ($this->page > 1) {
            return "page-1).".html" class="ab">pre_page_char_color."">".$this->pre_page_char."";
        }その他
        {
           return "".$this->pre_page_char."";
        }
      
    }
    
    function next_page($color="#909090",$sign=0) //下一页
    {
        if ($this->page < $this->totalpage) {
          
              return "page+1).".html" class="ab">".$this->next_page_char."< ;/a>";
           
        } その他 {
          
             return "".$this->next_page_char."";
        }
    }
    
    function pre_groud($char = "<<", $color = "#909090") //上一组
    {
        if ($this->page <= ($this->bar_mid+1)) {
            return "".$this->pre_groud_char."";
            //return $this->pre_groud_char;
        } その他 {
            $pre_gpage = ($this->page-$this->bar_mid             $this->page-$this->bar_mid;
            return "
".$this->pre_groud_char." ";
        }
    }
    
    function next_groud($char = ">>", $color = "#909090") //下一组
    {
        if (($this->totalpage-$this->page) <= ($this->bar_mid-1)) {
            return "".$this->next_groud_char."";
        } その他 {
            $next_gpage = ($this->page+$this->bar_mid totalpage)?$this->page+$this->bar_mid:
            $this->合計ページ;
            return "".$this->next_groud_char." ";
        }
    }
    
    function mun($lcolor = "#ff6633", $acolor = "#ff6633", $left = " ", $right = " ") // 数字导航栏
    {
        $link = "";
        $this->minpage = ($this->page-$this->bar_mid page-$this->bar_mid);
        $this->maxpage = $this->minpage+$this->bar_last;
        if ($this->maxpage > $this->totalpage) {
            $this->maxpage = $this->totalpage;
            $this->minpage = ($this->maxpage-$this->bar_last maxpage-$this->bar_last;
        }
       for($i = $this->minpage; $i maxpage; $i++)
        {
         /* 循環输出页码 */
            $i = sprintf("%02d",$i);
            //不足二位の前面补0
            $char = $left.$i.$right;
            //导航条左右两边加狭い
            if ($i == $this->page)
            {
             /* 假如是当前页则不加链接 */
                $link.= "".$char."";
            }
            それ以外は
             {
                //$link .= "key."page=".$i.$this->リンク。"" >".$char."";
                $link.= "".$char."";
                //关键ハンドル$link追加在新资料追加後
            }
        }
        echo "
";
        $link を返します;
    }
    
    
    function Jump_bar($class = "jump_bar") //下拉跳转
    {
        $link = "";
        $link を返します;
    }
    
    function mun_bar() //整条数字导航栏 [<<][<][01][02][03][04][05][06][07][08][09][10] ][>][>>]
    {
        //return $this->first_groud().$this->pre_groud().$this->pre_page().$this->mun().$this->next_page().$this ->next_groud().$this->last_groud();
        return $this->pre_groud()." ".$this->pre_page().$this->mun().$this->next_page()." ".$this- >next_groud();
    }
    関数 page_button()
    { //整条数字导航栏 [<][01][02][03][04][05][06][07][08][09][10][>]
        //return $this->first_groud().$this->pre_groud().$this->pre_page().$this->mun().$this->next_page().$this ->next_groud().$this->last_groud();
        return $this->pre_page('#909090',1).$this->mun().$this->next_page('#909090',1);
    }
    
    function total_bar($coloro = "#000000", $colorn = "red") //统计数字 页次:1/4310 每页:20 共计:4310页 本页:20
    {
        return "页次:$this->ページ/$this->合計ページ每页:$ this->pagesize 共计:$this->totalpage页 本页:$this->thispage";
    }
    
    // 整条导航栏
    // 次:1/4310 每页:20 共计:4310 本页:20 [<<][<][01][02][03][04][05][06][07 ][08][09][10][>][>>]
    function page_bar($coloro = "#000000", $colorn = "red") {
        return "<表幅='100%' border='0' cellpacing='0'>
           
           
            ".$this->total_bar()."
            ".$this->mun_bar()."
            ".$this->jump_bar()."
           
           
            ".$this->mm_jumpmenu();
    }
    
    function taketime($color = "#000000") //計算実行時間
    {
        return "

本页执行时间".abs((microtime()-$this->starttime) * 1000)."毫秒
";
}

Function style() //ページングスタイルを出力します
{
$style_num = $this->style;
                                       If ($this->totalpage != 0) //総ページ数 = 0 の場合、ページングがないことを意味します
{
switch($style_num) {
ケース 1:
return $this->page_bar();
//ページ: 1/4310 各ページ: 20 合計: 4310 ページ このページ: 20 [<<][<][01][02][03][04][05][06][07 ] [08][09][10][>][>>]
休憩;
ケース 2:
echo $this->mun_bar();
//デジタル ナビゲーション バー全体 [ 休憩;
ケース 3:
echo $this->page_button();
//デジタル ナビゲーション バー全体 [<][01][02][03][04][05][06][07][08][09][10][>]
休憩;
}
}
}

Function mm_jumpmenu() //ウェブページの特殊効果のジャンプ
{
//window.open(selobj.options[selobj.selectedindex].value,targ);