資料表,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";?>