亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

分頁顯示Oracle數據庫記錄的類(2.0)

2019-11-18 12:03:07
字體:
來源:轉載
供稿:網友

  <?php
  
  class TOracleViewPage {
  
  var $Table;  //表名
  var $MaxLine; //每頁顯示行數
  
  var $LinkId;  //數據庫連接號
  var $Id;    //排序參考字段
  
  var $Offset;  //記錄偏移量
  var $Total;  //記錄總數
  var $Number;  //本頁讀取的記錄數
  var $TopNumber;//讀新記錄時實際取出的記錄數
  var $Result;  //讀出的結果
  var $ToPResult;//讀新記錄時的結果
  
  var $TheFirstPage;//非凡指定第一頁的鏈接
  var $StartRec;    //指定第二頁的起始記錄號
  
  var $TPages;  //總頁數
  var $CPages;  //當前頁數
  
  var $TGroup;
  var $PGroup; //每頁顯示的頁號個數
  var $CGroup;
  
  var $Condition;  //顯示條件 如:where id='$id' order by id desc
  var $PageQuery;  //分頁顯示要傳遞的參數
  
  //-------------------------------------
  // 以下構造函數、析構函數及初始化函數
  //-------------------------------------
  
  //構造函數
  //參數:表名、最大行數、分頁參考的字段、每頁顯示的頁號數
  
  function TOracleViewPage($TB,$ML,$id){
  global $offset;
  
  $this->Table=$TB;
  $this->MaxLine=$ML;
  $this->Id=$id;
  
  $this->StartRec=0;
  if(isset($offset)) $this->Offset=$offset;
  else $this->Offset=0;
  
  $this->Condition="";
  $this->TheFirstPage=NULL;
  $this->PageQury=NULL;
  }
  
  //初始化
  //參數:用戶名、密碼、數據庫
  function InitDB($user,$passWord,$db){
  if (PHP_OS == "WINNT") $dllid=dl("php3_oci80.dll");
  $this->LinkId = OCILogon($user,$password,$db);
  }
  
  //斷開
  function Destroy(){
  OCILogoff($this->LinkId);
  }
  
  //-------------------------
  // Set 函數
  //-------------------------
  
  //設置顯示條件
  //如:where id='$id' order by id desc
  //要求是字串,符合SQL語法(本字串將加在SQL語句后)
  
  function SetCondition($s){
  $this->Condition=$s;
  }
  
  //設置每組的顯示個數
  function SetNumGroup($pg){
  $this->PGroup=$pg;
  }
  //設置首頁,如無則為NULL
  function SetFirstPage($fn){
  $this->TheFirstPage=$fn;
  }
  //設置起始記錄,如無則取默認0
  function SetStartRecord($org){
  $this->StartRec=$org;
  }
  
  //設置傳遞參數
  // key參數名 value參數值
  // 如:setpagequery("id",$id);如有多個參數要傳遞,可多次調用本函數。
  
  function SetPageQuery($key,$value){
  $tmp[key]=$key; $tmp[value]=$value;
  $this->PageQuery[]=$tmp;
  }
  
  //--------------------------------
  // Get 函數
  //--------------------------------
  
  //取記錄總數
  function GetTotalRec(){
  
  $SQL="SELECT Count(*) AS total FROM ".$this->Table." ".$this->Condition;
  
  $stmt = OCIParse($this->LinkId,$SQL);
  $bool = OCIExecute($stmt);
  if (!$bool)  {
  echo "連接失敗!";
  OCILogoff($this->LinkId);
  exit;
  }
  else   {
  OCIFetch($stmt);
  $this->Total=OCIResult($stmt,1);
  }
  OCIFreeStatement($stmt);
  }
  
  //取總頁數、當前頁
  function GetPage(){
  $this->TPages=ceil($this->Total/$this->MaxLine);
  $this->CPages=ceil($this->Offset/$this->MaxLine)+1;
  }
  
  //取總組數、當前組
  function GetGroup()  {
  $this->TGroup=ceil($this->TPages/$this->PGroup);
  $this->CGroup=ceil($this->CPages/$this->PGroup);
  }
  
  
  //--------------------------------
  // 工作函數
  //--------------------------------
  
  //讀取記錄
  // 主要工作函數,根據所給的條件從表中讀取相應的記錄
  // 返回值是一個二維數組,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." > <<

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品激情国产视频| 精品一区二区三区三区| 欧美成年人视频网站| 欧美日韩激情视频8区| 亚洲欧美激情在线视频| 欧美电影在线观看网站| 国产一区二区三区精品久久久| 久久久久久久久久久亚洲| 日韩中文综合网| 97免费视频在线播放| 亚洲乱码av中文一区二区| 日韩av色综合| 国产精品久久久久久久久久久久久| 97在线观看免费高清| 亚洲国产私拍精品国模在线观看| 亚洲精品一区二三区不卡| 国产精品日韩在线观看| 日本精品久久久久影院| 5566日本婷婷色中文字幕97| 亚洲永久免费观看| 欧美性猛交xxxx乱大交3| 亚洲a∨日韩av高清在线观看| 国产福利精品视频| 国产日韩欧美影视| 久久香蕉国产线看观看av| 久久久国产91| 亚洲嫩模很污视频| 91久久在线播放| 97精品伊人久久久大香线蕉| 伊人成人开心激情综合网| 国产成人精品最新| 欧美性xxxxxxxxx| 欧美激情视频网| 最新国产成人av网站网址麻豆| 久久久伊人日本| 日韩在线观看你懂的| 97在线精品视频| 国产97在线观看| 永久免费看mv网站入口亚洲| 综合136福利视频在线| 91精品国产成人| 久久久久久久999| 96精品久久久久中文字幕| 国产精品扒开腿做爽爽爽视频| 国内精品久久久久| 欧美三级免费观看| 精品国产鲁一鲁一区二区张丽| 成人免费福利视频| 国产伊人精品在线| 国内精品久久久久久中文字幕| 亚洲国产精品va在线观看黑人| 97色在线视频| 亚洲精品wwww| 日韩精品久久久久久久玫瑰园| 国产精品狠色婷| 欧美性高跟鞋xxxxhd| 日韩欧美成人免费视频| 欧美亚洲第一页| 亚洲va电影大全| 欧美最猛性xxxx| 亚洲第一区中文字幕| 亚洲天堂av图片| 久久免费少妇高潮久久精品99| 国产免费成人av| 国内精品视频在线| 欧美精品www在线观看| 欧美国产精品人人做人人爱| 日本成人精品在线| 日韩av电影在线网| 亚洲第一av网站| 久久久精品久久久久| 国产中文日韩欧美| 日韩a**站在线观看| 欧美第一黄色网| 亚洲护士老师的毛茸茸最新章节| 欧美不卡视频一区发布| 亚洲欧美日韩国产精品| 91视频国产一区| 在线播放国产精品| 中文字幕亚洲情99在线| 国产精品电影网站| 欧美日本高清一区| 久久精品国产亚洲7777| xvideos成人免费中文版| 亚洲精品综合久久中文字幕| 欧美成人午夜激情在线| 91在线视频精品| 欧美肥臀大乳一区二区免费视频| 精品视频在线观看日韩| 日韩精品中文字幕在线观看| 在线激情影院一区| 欧美在线不卡区| 91久久国产综合久久91精品网站| 欧美亚洲视频在线观看| 日韩av在线免费观看| 国产精品v片在线观看不卡| 91精品国产91久久久久久久久| 亚洲精品99久久久久中文字幕| 欧美激情xxxx| 最近日韩中文字幕中文| 国产精品久久久久久久久借妻| 欧美乱大交xxxxx| 久久久视频免费观看| 国产精品久久久久久久久久久久久久| 欧美亚洲日本黄色| 国内精品国产三级国产在线专| 欧美精品电影在线| 日本欧美国产在线| 中文字幕国产亚洲| 国产精品免费久久久久久| 日韩黄色av网站| 国产69久久精品成人看| 一道本无吗dⅴd在线播放一区| 亚洲精品一区二区三区婷婷月| 国产精品久久999| 亚洲精品自拍偷拍| 久久中文字幕一区| 日韩一区二区三区在线播放| 欧美一区二区影院| 国产91精品最新在线播放| 亚洲欧美一区二区三区久久| 欧美日韩国产麻豆| 精品高清一区二区三区| 91精品国产综合久久久久久久久| 欧美日韩中文字幕| 欧美肥婆姓交大片| 中文字幕欧美视频在线| 久久av在线播放| 国产精品一区专区欧美日韩| 成人激情视频网| 日韩av快播网址| 伊人伊人伊人久久| 成人在线免费观看视视频| 国产精品人成电影| 欧美电影免费观看| 国产精品麻豆va在线播放| 国产精品白嫩初高中害羞小美女| 国产日韩在线看片| 欧美日韩午夜剧场| 久久久久久一区二区三区| 欧美日韩美女视频| 在线观看免费高清视频97| 国产日韩综合一区二区性色av| 日韩视频免费观看| 国产成人精品视频| 精品视频—区二区三区免费| 日韩免费精品视频| 久久99久久99精品中文字幕| 色偷偷91综合久久噜噜| 国产精品最新在线观看| 日韩精品在线播放| 91精品国产综合久久香蕉的用户体验| 98精品在线视频| 亚洲综合在线中文字幕| 91亚洲精品久久久久久久久久久久| 欧美日本亚洲视频| 自拍偷拍亚洲精品| 欧美多人爱爱视频网站| 欧美猛男性生活免费| www.日本久久久久com.| 久久偷看各类女兵18女厕嘘嘘| 亚洲精品网址在线观看| 欧美肥婆姓交大片| 久久中文久久字幕|