首頁 > 後端開發 > php教程 > 分頁顯示Oracle資料庫記錄的類之二_PHP教程

分頁顯示Oracle資料庫記錄的類之二_PHP教程

WBOY
發布: 2016-07-21 16:10:33
原創
836 人瀏覽過


//--------------------------------
// 工作函數
//---- ----------------------------

//讀取記錄
//主要工作函數,根據所給的條件從表中讀取對應的記錄
//傳回值是一個二維數組,Result[記錄號][欄位名稱]

function ReadList() {

$SQL="SELECT * FROM ".$this->Table." ".$this->Condition." ORDER BY ".$this->Id." DESC";

$stmt = OCIParse( $this->LinkId,$SQL);
$bool = OCIExecute($stmt);
if (!$bool) {
echo "連線失敗!";
OCILogoff($this- >LinkId);
exit;
}
else {
$ncols = OCINumCols($stmt);
for ( $i = 1; $i <= $ncols; $i )
$column_name[$i] = OCIColumnName($stmt,$i);
$k=0;

for($j=0;$j<$this->StartRec $this ->Offset;$j ) OCIFetch($stmt);
for($j=0;$j<$this->MaxLine;$j ){
if(OCIFetch($stmt)){
$k ;
for($i=1;$i<=$ncols;$i )
$temp[$column_name[$i]]=OCIResult($stmt,$i);
$this->Result[]=$temp;
}
else break;
}
$this->Number=$k;

}
OCIFreeStatement($ stmt);
return $this->Result;
}
//讀取最新的記錄
//topnum指定要讀出的記錄數

function ReadTopList($topnum ){

$SQL="SELECT * FROM ".$this->Table." ".$this->Condition." ORDER BY ".$this->Id." DESC";

$stmt = OCIParse($this->LinkId,$SQL);
$bool = OCIExecute($stmt);
if (!$bool) {
echo "連線失敗! ";
OCILogoff($this->LinkId);
exit;
}
else {
$ncols = OCINumCols($stmt);
for ( $i = 1; $i <= $ncols; $i )
$column_name[$i] = OCIColumnName($stmt,$i);
$k=0;

for($j=0; $j<$topnum;$j ){
if(OCIFetch($stmt)){
$k ;
for($i=1;$i<=$ncols;$i )
$temp[$column_name[$i]]=OCIResult($stmt,$i);
$this->TopResult[]=$temp;
}
else break;
}
$this->TopNumber=$k;

}
OCIFreeStatement($stmt);
return $this->TopResult;


}
}
//---------------------------
// 分頁相關
//--------- ------------------

//顯示目前頁及總頁數
//本函數在GetPage()後呼叫。 function ThePage() {
echo "第".$this->CPages."頁/共".$this->TPages."頁";
}

//顯示翻頁按鈕
//此函數要在GetPage()函數之後呼叫
//顯示下頁、上頁,並加上要傳遞的參數

function Page() {
$ k=count($this->PageQuery);
$strQuery=""; //產生一個要傳遞參數字串
for($i=0;$i<$k;$i ){
$strQuery.="&".$this->PageQuery[$i][key]."=".$this->PageQuery[$i][value];
}

return $strQuery;
}

function PrePage($strQuery){
$prev=$this->Offset-$this->MaxLine;
if($prev>=0)
echo "<A href=$PHP_SELF?offset=".$prev.$strQuery." class=newslink>上一頁</A>";
else if($this->TheFirstPage!=NULL )
echo "<A href=".$this->TheFirstPage." class=newslink>上一頁</A>";
else echo "上一頁";
}

function NexPage($strQuery){
$next=$this->Offset $this->MaxLine;
$k=$this->Total-$this->StartRec;
if( $next<$k)
echo "<A href=$PHP_SELF?offset=".$next.$strQuery." class=newslink>下一頁</A>";
else
echo "下一頁";
}
//----------------------------------- -
// 記錄分組
//----------------------------------
//顯示分組
function NumPage() {
$first=($this->CGroup-1)*($this->PGroup) 1;
$last=($first $this-> PGroup > $this->TPages)? ($this->TPages 1):($first $this->PGroup);
$pr=($this->CGroup-2>=0)?( ($ this->CGroup-2)*($this->PGroup) 1 ):(-1);
$prev=($pr!=-1)?( ($pr-1)*$this-> MaxLine):(0);
$ne=($this->CGroup*$this->PGroup 1<=$this->TPages)?($this->CGroup*$this->PGroup 1): (-1);
$next=($ne!=-1)?( ($ne-1)*$this->MaxLine):(0);

$k=count( $this->PageQuery);
$strQuery=""; //產生一個要傳遞參數字串
for($i=0;$i<$k;$i ){
$strQuery .="&".$this->PageQuery[$i][key]."=".$this->PageQuery[$i][value];
}

if($first !=1)
echo "<A href=$PHP_SELF?offset=".$prev.$strQuery." > << </a>";
for($i=$first;$i< $last;$i ) {
if($this->CPages!=$i){
$current=($i-1)*$this->MaxLine;
echo "<A href =$PHP_SELF?offset=".$current.$strQuery." >".$i."</a> ";
}
else echo "<font color=#e00729>".$i. "</font> ";
}
if($ne!=-1)
echo "<A href=$PHP_SELF?offset=".$next.$strQuery." > >> < /a>";
}

//******end class
}
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314253.htmlTechArticle//---------------------- ---------- // 工作函數//-------------------------------- //讀取記錄//主要工作函數,根據所給予的條件從表中讀取對應的記錄//返回...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板