亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? adodb-pager.inc.php

?? 類似youtube的視頻分享網站源碼。有后臺管理系統及模板
?? PHP
字號:
<?php
/*
	V3.40 7 April 2003  (c) 2000-2003 John Lim (jlim@natsoft.com.my). All rights reserved.
	  Released under both BSD license and Lesser GPL library license. 
	  Whenever there is any discrepancy between the two licenses, 
	  the BSD license will take precedence. 
	  Set tabs to 4 for best viewing.

  	This class provides recordset pagination with 
	First/Prev/Next/Last links. 
	
	Feel free to modify this class for your own use as
	it is very basic. To learn how to use it, see the 
	example in adodb/tests/testpaging.php.
	
	"Pablo Costa" <pablo@cbsp.com.br> implemented Render_PageLinks().
	
	Please note, this class is entirely unsupported, 
	and no free support requests except for bug reports
	will be entertained by the author.
	
	My company also sells a commercial pagination 
	object at http://phplens.com/ with much more 
	functionality, including search, create, edit,
	delete records. 
*/
class ADODB_Pager {
	var $id; 	// unique id for pager (defaults to 'adodb')
	var $db; 	// ADODB connection object
	var $sql; 	// sql used
	var $rs;	// recordset generated
	var $curr_page;	// current page number before Render() called, calculated in constructor
	var $rows;		// number of rows per page
    var $linksPerPage=10; // number of links per page in navigation bar
    var $showPageLinks; 

	var $gridAttributes = 'width=100% border=1 bgcolor=white';
	
	// Localize text strings here
	var $first = '<code>|&lt;</code>';
	var $prev = '<code>&lt;&lt;</code>';
	var $next = '<code>>></code>';
	var $last = '<code>>|</code>';
	var $moreLinks = '...';
	var $startLinks = '...';
	var $gridHeader = false;
	var $htmlSpecialChars = true;
	var $page = 'Page';
	var $linkSelectedColor = 'red';
	var $cache = 0;  #secs to cache with CachePageExecute()
	
	//----------------------------------------------
	// constructor
	//
	// $db	adodb connection object
	// $sql	sql statement
	// $id	optional id to identify which pager, 
	//		if you have multiple on 1 page. 
	//		$id should be only be [a-z0-9]*
	//
	function ADODB_Pager(&$db,$sql,$id = 'adodb', $showPageLinks = false)
	{
	global $HTTP_SERVER_VARS,$PHP_SELF,$HTTP_SESSION_VARS,$HTTP_GET_VARS;
	
		$curr_page = $id.'_curr_page';
		if (empty($PHP_SELF)) $PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
		
		$this->sql = $sql;
		$this->id = $id;
		$this->db = $db;
		$this->showPageLinks = $showPageLinks;
		
		$next_page = $id.'_next_page';	
		
		if (isset($HTTP_GET_VARS[$next_page])) {
			$HTTP_SESSION_VARS[$curr_page] = $HTTP_GET_VARS[$next_page];
		}
		if (empty($HTTP_SESSION_VARS[$curr_page])) $HTTP_SESSION_VARS[$curr_page] = 1; ## at first page
		
		$this->curr_page = $HTTP_SESSION_VARS[$curr_page];
		
	}
	
	//---------------------------
	// Display link to first page
	function Render_First($anchor=true)
	{
	global $PHP_SELF;
		if ($anchor) {
	?>
		<a href="<?php echo $PHP_SELF,'?',$this->id;?>_next_page=1"><?php echo $this->first;?></a> &nbsp; 
	<?php
		} else {
			print "$this->first &nbsp; ";
		}
	}
	
	//--------------------------
	// Display link to next page
	function render_next($anchor=true)
	{
	global $PHP_SELF;
	
		if ($anchor) {
		?>
		<a href="<?php echo $PHP_SELF,'?',$this->id,'_next_page=',$this->rs->AbsolutePage() + 1 ?>"><?php echo $this->next;?></a> &nbsp; 
		<?php
		} else {
			print "$this->next &nbsp; ";
		}
	}
	
	//------------------
	// Link to last page
	// 
	// for better performance with large recordsets, you can set
	// $this->db->pageExecuteCountRows = false, which disables
	// last page counting.
	function render_last($anchor=true)
	{
	global $PHP_SELF;
	
		if (!$this->db->pageExecuteCountRows) return;
		
		if ($anchor) {
		?>
			<a href="<?php echo $PHP_SELF,'?',$this->id,'_next_page=',$this->rs->LastPageNo() ?>"><?php echo $this->last;?></a> &nbsp; 
		<?php
		} else {
			print "$this->last &nbsp; ";
		}
	}
	
	//---------------------------------------------------
	// original code by "Pablo Costa" <pablo@cbsp.com.br> 
        function render_pagelinks()
        {
        global $PHP_SELF;
            $pages        = $this->rs->LastPageNo();
            $linksperpage = $this->linksPerPage ? $this->linksPerPage : $pages;
            for($i=1; $i <= $pages; $i+=$linksperpage)
            {
                if($this->rs->AbsolutePage() >= $i)
                {
                    $start = $i;
                }
            }
			$numbers = '';
            $end = $start+$linksperpage-1;
			$link = $this->id . "_next_page";
            if($end > $pages) $end = $pages;
			
			
			if ($this->startLinks && $start > 1) {
				$pos = $start - 1;
				$numbers .= "<a href=$PHP_SELF?$link=$pos>$this->startLinks</a>  ";
            } 
			
			for($i=$start; $i <= $end; $i++) {
                if ($this->rs->AbsolutePage() == $i)
                    $numbers .= "<font color=$this->linkSelectedColor><b>$i</b></font>  ";
                else 
                     $numbers .= "<a href=$PHP_SELF?$link=$i>$i</a>  ";
            
            }
			if ($this->moreLinks && $end < $pages) 
				$numbers .= "<a href=$PHP_SELF?$link=$i>$this->moreLinks</a>  ";
            print $numbers . ' &nbsp; ';
        }
	// Link to previous page
	function render_prev($anchor=true)
	{
	global $PHP_SELF;
		if ($anchor) {
	?>
		<a href="<?php echo $PHP_SELF,'?',$this->id,'_next_page=',$this->rs->AbsolutePage() - 1 ?>"><?php echo $this->prev;?></a> &nbsp; 
	<?php 
		} else {
			print "$this->prev &nbsp; ";
		}
	}
	
	//--------------------------------------------------------
	// Simply rendering of grid. You should override this for
	// better control over the format of the grid
	//
	// We use output buffering to keep code clean and readable.
	function RenderGrid()
	{
	global $gSQLBlockRows; // used by rs2html to indicate how many rows to display
		include_once(ADODB_DIR.'/tohtml.inc.php');
		ob_start();
		$gSQLBlockRows = $this->rows;
		rs2html($this->rs,$this->gridAttributes,$this->gridHeader,$this->htmlSpecialChars);
		$s = ob_get_contents();
		ob_end_clean();
		return $s;
	}
	
	//-------------------------------------------------------
	// Navigation bar
	//
	// we use output buffering to keep the code easy to read.
	function RenderNav()
	{
		ob_start();
		if (!$this->rs->AtFirstPage()) {
			$this->Render_First();
			$this->Render_Prev();
		} else {
			$this->Render_First(false);
			$this->Render_Prev(false);
		}
        if ($this->showPageLinks){
            $this->Render_PageLinks();
        }
		if (!$this->rs->AtLastPage()) {
			$this->Render_Next();
			$this->Render_Last();
		} else {
			$this->Render_Next(false);
			$this->Render_Last(false);
		}
		$s = ob_get_contents();
		ob_end_clean();
		return $s;
	}
	
	//-------------------
	// This is the footer
	function RenderPageCount()
	{
		if (!$this->db->pageExecuteCountRows) return '';
		$lastPage = $this->rs->LastPageNo();
		if ($lastPage == -1) $lastPage = 1; // check for empty rs.
		return "<font size=-1>$this->page ".$this->curr_page."/".$lastPage."</font>";
	}
	
	//-----------------------------------
	// Call this class to draw everything.
	function Render($rows=10)
	{
	global $ADODB_COUNTRECS;
	
		$this->rows = $rows;
		
		$savec = $ADODB_COUNTRECS;
		if ($this->db->pageExecuteCountRows) $ADODB_COUNTRECS = true;
		if ($this->cache)
			$rs = &$this->db->CachePageExecute($this->cache,$this->sql,$rows,$this->curr_page);
		else
			$rs = &$this->db->PageExecute($this->sql,$rows,$this->curr_page);
		$ADODB_COUNTRECS = $savec;
		
		$this->rs = &$rs;
		if (!$rs) {
			print "<h3>Query failed: $this->sql</h3>";
			return;
		}
		
		if (!$rs->EOF && (!$rs->AtFirstPage() || !$rs->AtLastPage())) 
			$header = $this->RenderNav();
		else
			$header = "&nbsp;";
		
		$grid = $this->RenderGrid();
		$footer = $this->RenderPageCount();
		$rs->Close();
		$this->rs = false;
		
		$this->RenderLayout($header,$grid,$footer);
	}
	
	//------------------------------------------------------
	// override this to control overall layout and formating
	function RenderLayout($header,$grid,$footer,$attributes='border=1 bgcolor=beige')
	{
		echo "<table ".$attributes."><tr><td>",
				$header,
			"</td></tr><tr><td>",
				$grid,
			"</td></tr><tr><td>",
				$footer,
			"</td></tr></table>";
	}
}


?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡视频一二三区| 免费观看一级特黄欧美大片| 久久久精品黄色| 日韩欧美一二三区| 日韩精品一区二区在线观看| 在线不卡免费欧美| 日韩一级视频免费观看在线| 日韩三级免费观看| 亚洲精品一区二区三区精华液| 日韩一区二区免费在线观看| 日韩美女主播在线视频一区二区三区| 69堂成人精品免费视频| 欧美变态tickle挠乳网站| 精品国产一区二区三区久久久蜜月 | 高清不卡在线观看| 成人一区二区视频| 色综合久久久久久久久| 91麻豆精品久久久久蜜臀| 日韩精品最新网址| 国产精品美女久久久久aⅴ| 亚洲免费av高清| 日韩—二三区免费观看av| 狠狠色综合色综合网络| 成人国产精品免费| 欧美日韩午夜影院| 国产日韩高清在线| 一卡二卡欧美日韩| 久久狠狠亚洲综合| 97久久人人超碰| 欧美一区日韩一区| 国产精品进线69影院| 三级不卡在线观看| 大胆亚洲人体视频| 欧美精品第1页| 国产精品久久久久久福利一牛影视| 亚洲在线视频一区| 高清不卡在线观看| 日韩精品一区在线| 亚洲福利视频一区| 成人免费视频网站在线观看| 欧美乱妇15p| 亚洲女人的天堂| 国产精品一区二区不卡| 欧美伦理视频网站| 伊人婷婷欧美激情| 岛国av在线一区| 久久网站最新地址| 天天av天天翘天天综合网| 99久久婷婷国产精品综合| 日韩欧美色综合| 视频一区视频二区中文| av激情亚洲男人天堂| 久久综合色综合88| 日本成人超碰在线观看| 欧美午夜一区二区| 亚洲视频一区二区在线观看| 成人一区二区三区中文字幕| 欧美草草影院在线视频| 天堂在线亚洲视频| 欧美天天综合网| 亚洲欧美日韩国产成人精品影院| 成人夜色视频网站在线观看| 精品久久久久久久久久久久包黑料 | 久久综合成人精品亚洲另类欧美 | 亚洲成人午夜影院| 欧美日韩大陆一区二区| 国产精品1区2区3区在线观看| 国产精品婷婷午夜在线观看| 欧美伦理影视网| 国产成人免费视频精品含羞草妖精| 日韩专区欧美专区| 国产日韩欧美精品在线| 久久五月婷婷丁香社区| av动漫一区二区| 日韩电影在线观看一区| 国产欧美日韩不卡| 一本色道亚洲精品aⅴ| 日韩精彩视频在线观看| 久久色成人在线| 在线观看中文字幕不卡| 精品一区二区三区视频| 亚洲乱码中文字幕| 欧美精品一区男女天堂| 成人激情图片网| 午夜精品久久久久久久久久| 日韩免费电影网站| 色综合视频在线观看| 麻豆精品视频在线| 亚洲欧洲制服丝袜| www国产亚洲精品久久麻豆| 色欧美88888久久久久久影院| 狠狠狠色丁香婷婷综合久久五月| 玉米视频成人免费看| 欧美国产日韩一二三区| 精品福利一二区| 777亚洲妇女| 精品视频在线免费| 一本久道久久综合中文字幕| 丁香天五香天堂综合| 国产又黄又大久久| 麻豆成人av在线| 免费在线观看视频一区| 视频一区免费在线观看| 天堂一区二区在线| 午夜精品国产更新| 亚洲一区二区三区在线播放| 亚洲视频一区在线| 亚洲精品日韩一| 亚洲你懂的在线视频| 亚洲欧洲av在线| 国产精品久久看| 国产欧美1区2区3区| 国产欧美精品区一区二区三区| 欧美v日韩v国产v| 欧美精品一区二区三区在线| 日韩一级免费观看| 欧美成人r级一区二区三区| 欧美一区二区成人6969| 日韩欧美中文一区| 久久综合久久综合久久| 久久噜噜亚洲综合| 国产精品入口麻豆九色| 国产精品网曝门| 亚洲摸摸操操av| 亚洲高清免费观看高清完整版在线观看| 一区二区三区中文免费| 一区二区三区在线播放| 亚洲一级在线观看| 日本vs亚洲vs韩国一区三区二区| 日产国产欧美视频一区精品| 久久丁香综合五月国产三级网站| 精品一区二区综合| 成人爱爱电影网址| 色噜噜偷拍精品综合在线| 欧美日韩综合不卡| 精品国产91洋老外米糕| 欧美激情一区二区三区| 亚洲在线观看免费| 国产真实乱对白精彩久久| www.欧美亚洲| 欧美日韩精品一区二区天天拍小说| 91精品国产福利| 久久久久久久久久久久久久久99 | 五月天亚洲精品| 久久成人av少妇免费| 成人不卡免费av| 欧美精品日韩精品| 久久综合久久99| 亚洲一区二区欧美日韩| 国产一区二区在线观看视频| 色天天综合色天天久久| 欧美肥妇毛茸茸| 国产精品麻豆一区二区| 午夜激情综合网| 成人一级片网址| 欧美一区三区四区| 亚洲欧美一区二区久久| 久久99热国产| 欧美日韩激情一区二区三区| 久久精品欧美一区二区三区麻豆| 亚洲欧美激情小说另类| 国产一区二区三区最好精华液| 日本精品一区二区三区高清| 精品国产乱码久久久久久图片| 玉米视频成人免费看| 国产成人精品免费网站| 91精品在线一区二区| 亚洲素人一区二区| 国产成人精品在线看| 在线播放91灌醉迷j高跟美女 | 久久精品人人爽人人爽| 婷婷综合久久一区二区三区| 97国产一区二区| 久久精品视频免费| 美腿丝袜在线亚洲一区| 欧美日韩电影一区| 亚洲愉拍自拍另类高清精品| 91一区二区三区在线播放| 久久精品日韩一区二区三区| 久久国产精品一区二区| 欧美一区午夜精品| 丝袜亚洲另类欧美综合| 欧美在线视频全部完| 亚洲天堂久久久久久久| 成人91在线观看| 国产精品三级av在线播放| 国产一区二区免费在线| 欧美成人精精品一区二区频| 亚洲电影视频在线| 日本韩国精品一区二区在线观看| 国产精品国产自产拍高清av | 亚洲视频资源在线| 国产a精品视频| 久久蜜桃香蕉精品一区二区三区| 精品写真视频在线观看| 日韩女优电影在线观看| 另类小说一区二区三区| 日韩免费看的电影| 国内成人自拍视频| 久久精品免视看|