php與oracle11g經典分頁

來源:互聯網
上載者:User

資料表,sequence,觸發器建立:http://blog.csdn.net/e421083458/article/details/8944164

<?php$t1 = xdebug_time_index();$conn = oci_connect("SCOTT","TIGER","192.168.1.244:1521/orcl");if(!$conn){$e = oci_error();print htmlentities($e['message']);exit();}//總記錄數$sql = "select ROWNUM rn from EXAMPLE";$par = oci_parse($conn, $sql);oci_execute($par);$nRecords = ocifetchstatement($par, $rs);//取得頁碼$page = $_GET['page'];//定義每頁顯示資訊條數$page_size = 20;//當頁碼參數為空白時,將頁碼設為1if ($page == ""){    $page = 1;}//當頁碼大於1時,每頁的開始記錄是 (頁碼-1) * 每頁記錄數 +1$startRow = ($page - 1) * $page_size + 1;$endRow = $page * $page_size;//方法一:$cmdstr = "select *from(    select ROWNUM rn ,temp.*    from (select * from EXAMPLE) temp    where ROWNUM <= $endRow)where rn >= $startRow";//方法二://$cmdstr = "select * from example where rowid in(select rid from(select rownum rn,rid from(select rowid rid,id from EXAMPLE order by id desc) where rownum<".$endRow.")where rn>".$startRow.")order by id desc";echo $cmdstr;//執行查詢SQL$parsed = ociparse($conn, $cmdstr);ociexecute($parsed);$nrows = ocifetchstatement($parsed, $results);echo "<html><head><title>Oracle PHP Test</title></head><body>";echo "<center><h2>Oracle PHP Test</h2>\n";//表欄位名擷取$arrName = array_keys($results);echo "<table border=1 cellspacing='0' width='70%'>\n<tr>\n";for ($i = 0; $i < count($arrName); $i++){    echo "<td>" . $arrName[$i] . "</td>\n";}echo "</tr>\n";//迴圈輸出記錄for ($i = 0; $i < $nrows; $i++){    echo "<tr>\n";    foreach ($results as $data)    {        echo "<td>$data[$i]</td>\n";    }    echo "</tr>\n";}echo "<tr><td colspan='" . count($arrName) . "'> Number of Rows:".$nRecords."</td></tr></table>\n<br>";//顯示分頁//Pages: First Prev   1 2 3 4 5 6> Next Last//總頁數$totalPage = ceil($nRecords / $page_size);//上一頁連結$Prev = $page - 1;if ($Prev < 1){    $Prev = 1;}//下一頁連結$Next = $page + 1;if ($Next > $totalPage){    $Next = $totalPage;}//輸出上一頁連結if ($page <> 1){    echo '<span><a href="?page=1">First</a></span>';    echo '<span><a href="?page=' . $Prev . '">Prev</a></span>';}else{    echo '<span>First</span>';    echo '<span>Prev</span>';}//頁碼數字連結//顯示的數字個數$pageNumber = 5;//頁碼數演算法$pagebegin = $page - $pageNumber;if ($page == 1){    $pageend = $pageNumber;}else{    $pageend = $page + $pageNumber;}if ($pagebegin <= 0){    $pagebegin = 1;}if ($pageend > $totalPage){    $pageend = $totalPage;}//一次向前翻$pageNumber行if ($page > $pageNumber){    echo '<span><a href="?page=' . ($page - $pageNumber) . '"><<</a></span>';}//輸出動態產生的頁碼連結for ($i = $pagebegin; $i <= $pageend; $i++){    if ($i == $page)    {        echo '<span style="background:#FFCC99">' . $i . '</span>';    }    else    {        echo '<span><a href="?page=' . $i . '">' . $i . '</a></span>';    }}//一次向後翻$pageNumber行if (($totalPage - $page) > 5){    echo '<span><a href="?page=' . ($page + $pageNumber) . '">>></a></span>';}//輸出下一頁連結if ($page <> $totalPage){    echo '<span><a href="?page=' . $Next . '">Next</a></span>';    echo '<span><a href="?page=' . $totalPage . '">Last</a></span>';}else{    echo '<span>Next</span>';    echo '<span>Last</span>';}oci_close($conn);$t2 = xdebug_time_index();echo "<br/><br/>execute time:";echo $t2-$t1;echo "s";?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.