私の php_mysql ページング クラスの 1 つ

WBOY
リリース: 2016-06-21 09:09:22
オリジナル
907 人が閲覧しました

mysql|ページネーション

class RSPage {
var $Debug = 0;
var $sqoe = 1; // sqoe= エラー時にクエリを表示
var $Link_ID = 0;
var $Record = array();
var $Row;
var $numRow;
var $Parse;
var $Error = "";
var $ m_timeFmt = "YYYY-MM-DD HH24:MI:SS";

var $m_num=-1;
var $m_sql;
var $m_pageSize=10;
var $m_cmt;
var $m_curPage=1;
function open($DB_Link)
{
$this->Link_ID = $DB_Link;
}

関数クエリ($Query_String,$ page=1,$cnt=-1,$size=10) {
if($Query_String=="")
{
echo "执行语句不可空!";
return false;
}
if( !$ page)
$page = 1;
if(!$cnt)
$cnt = -1;
$this->m_pageSize = $size;

if($this->Parse){
mysql_free_result($this ->Parse);
}

if($cnt!=-1){
$this->m_num = $cnt;
else{
$result = mysql_query($Query_String, $this-> Link_ID);
if(!$result){
$this->Error=mysql_error($this->Link_ID);
}
else{
else{
$this->m_num = mysql_num_rows($result);
}
/*
$cntsql = "($Query_String) から count(*) max_num を選択";
$maxnum = 0;
$result = mysql_query($sqlstr,$this-& gt;Link_ID);
$ret = mysql_fetch_array( $result);
mysql_free_result($result);
if(!$ret) {
$this->Error=mysql_error($this->Link_ID);
}
else {
$this->m_num = $ret["max_num"];
}
*/

$pageCount = $this->getPageCount();
$pageSize = $ this->getPageSize();
if($page>$pageCount )$page=$pageCount;
        if($page<1)$page=1;
$this->m_curPage=$page;
$posBegin = ($page-1)*$pageSize;
$posEnd = $posBegin + $pageSize;
$Query_String = "$Query_String LIMIT $posBegin,$posEnd";
$this->Parse=mysql_query($Query_String,$this->Link_ID);

if(!$this->Parse) {
$this- >Error=mysql_error($this->Link_ID);
}
$this->Row=0;

if($this->Debug) {
printf("デバッグ: query = %s }

if ($this->エラー && $this->sqoe)
echo "
".$this ->エラー["メッセージ"]."
クエリ:"$Query_String"
";
$numRow=mysql_num_rows($this->Parse);
return $ this->Parse;
}
function setTimeFormat($timestr){
$this->m_timeFmt = $timestr;
}
function next_record() {
if(!($row = mysql_fetch_array($this->> Parse))) {
mysql_free_result($this->Parse);
$this->Parse = false;
$stat=0;
else {
else while(list($key,$val)=each ($row)) {
$colreturn=strto lower($key);
$this->Record[ "$colreturn" ] = $val;
if($this->Debug) echo"[ $key]:".$val."
n";
}
$stat=1;
}

return $stat;
}

function record_exist() {
if( 0 == mysql_num_rows($this->Parse)) {
return 0;
} else {
return 1;
}

return $stat;
}

関数 Seek($pos) {
$this-> ;Row=$pos;
}

functionaffected_rows() {
return mysql_affected_rows($this->Parse);
}

function num_rows() {
return mysql_num_rows($this-> ;解析);
}

function f($Name) {
return $this->Record[$Name];
}

function p($Name) {
print $this->Record[$Name];
}

function close() {
if($this->Debug) {
//printf("切断中...
n");
}
if($this->Parse){
mysql_free_result ( $this->Parse);
}
//mysql_close($this->Link_ID);
}

//---public 得到当前页
function getCurPage(){return $this->m_curPage;}
//---public ページ長を設定します
function setPageSize($page_size){$this->m_pageSize = $page_size;}
//--- publicページの長さを取得します
function getPageSize(){return $this->m_pageSize;}
//---public レコードの総数を取得します
function getCount(){return $this->m_num;}
// --- public で、総ページ数を取得します。 tcount ()%$ This- >getPageSize()>0)$page++;
// パラメータの説明: $url ページの呼び出し ex:http://hello.php?showtype=main
function show_navibar($recname="record",$first="Home",$pre="前のページ", $ Next = "次", $ last = "最後のページ") {
$ Showurl = Getenv ("Request_uri") O $ tmpos = strpos ($ showurl, "? Rscnt =");
IF ($ tmppos)
$ Showurl = Substr ($ showurl, 0, $ tmppos); Age = $ This ->getCurPage();
$pagecnt = $this->getPageCount();
$cnt = $this->getCount();
if($cnt return; // URL にはすでにパラメータがあります。
$url = $url."&";
?>
1> =&lt;?echo $ url。($ page-1)?&gt;&lt; href=>
?> ;
?>
             }
?>
共有 ,当前/ 
>页



}
}



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート