PHP實現的oracle分頁函數執行個體,phporacle分頁執行個體_PHP教程

來源:互聯網
上載者:User

PHP實現的oracle分頁函數執行個體,phporacle分頁執行個體


本文執行個體講述了PHP實現的oracle分頁函數。分享給大家供大家參考,具體如下:

mysql有limit,分頁的時候,我們可以用limit 30,40,而oracle沒有limit,用其他的方法來代替--rownum.

一、底層方法

/** * 資料連線 */function connect($db_user, $db_pwd, $db_name, $db_nls){ $this->dbh = oci_connect($db_user, $db_pwd, $db_name, $db_nls);}function getall($query, $start=0, $rows=-1){ $this->dbh = emptyempty($this->dbh) ? $this->connect() : $this->dbh; $this->sth = oci_parse($this->dbh, $query); oci_execute($this->sth, OCI_DEFAULT) or $this->error($this->sth, $query); oci_fetch_all($this->sth, $res, $start, $rows, OCI_FETCHSTATEMENT_BY_ROW+OCI_ASSOC); return $res;}/*** 擷取分頁數** $query  string   查詢語句* $total  int    總條數* $page  int    頁數* $rows  int    每頁顯示數* @return integer  總行數*/function getpage($query, $total, $page, $rows=VAR_PAGENAV_ROWS){ $start_row = ($page - 1) * $rows + 1; $start_row = $start_row > $total ? 1 : $start_row; $end_row  = $start_row + $rows - 1; $end_row  = $end_row > $total ? $total : $end_row; $query   = "SELECT * FROM ( SELECT ROWNUM as row_num, r.* FROM ( $query ) r WHERE ROWNUM <= $end_row ) WHERE $start_row <= row_num"; return $this->getall($query);}/*** 擷取一個查詢的總行數** $string $SQL 查詢語句** return integer 總行數*/function getcount($sql){ $subSQL = 'select count(*) '.stristr($sql, 'from'); return $this->getone($subSQL);}function getone($query){ $row = $this->getrow($query); if (is_array($row)) $one = current($row); else $one = ''; unset($row); return $one;}function getrow($query){ if (false === stripos($query, 'COUNT(')) { if (false === stripos($query, 'WHERE')) { $query .= ' WHERE ROWNUM = 1'; } else { $query .= ' AND ROWNUM = 1'; } } $result = $this->getall($query, 0, 1); if (emptyempty($result)) $row = array(); else $row = $result[0]; unset($result); return $row;}

主要二個方法我寫一點注釋

二、調用方法

$total = $this->db->getcount($sql);$result = $this->db->getpage($sql,$total,$page,$page_number);

上面只是貼出部分代碼,也是最核心的。

更多關於PHP資料庫操作相關內容感興趣的讀者可查看本站專題:《php常見資料庫操作技巧匯總》、《PHP基於pdo操作資料庫技巧總結》及《php+mysql資料庫操作入門教程》。

希望本文所述對大家PHP程式設計有所協助。

您可能感興趣的文章:

  • php+oracle 分頁類
  • php串連oracle資料庫及查詢資料的方法
  • PHP處理Oracle的CLOB執行個體
  • Linux下PHP串連Oracle資料庫
  • Win7 64位系統下PHP串連Oracle資料庫
  • PHP 讀取文字檔內容並分頁顯示
  • php自訂分頁類完整執行個體
  • 兩款萬能的php分頁類
  • php實現分頁功能的3種方法
  • 詳解PHP+AJAX無重新整理分頁實現方法

http://www.bkjia.com/PHPjc/1095683.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1095683.htmlTechArticlePHP實現的oracle分頁函數執行個體,phporacle分頁執行個體 本文執行個體講述了PHP實現的oracle分頁函數。分享給大家供大家參考,具體如下: mysql有limit,分...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.