PHP + ORACLE 如何实现分页 最好给出一个示例

最好加些程序注释!谢谢了... 最好加些程序注释!谢谢了 展开
 我来答
沟友飞1930
2008-09-20 · TA获得超过240个赞
知道小有建树答主
回答量:672
采纳率:0%
帮助的人:697万
展开全部
oracle官方自己的例子
原文http://www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/fuecks_paged.html

1function & paged_result(& $conn, $select, $start_row, $rows_per_page) {
2
3$sql = "SELECT
4 *
5FROM
6 (
7SELECT
8r.*, ROWNUM as row_number
9FROM
10( $select ) r
11WHERE
12ROWNUM <= :end_row
13 )
14WHERE :start_row <= row_number";
15
16$stmt = oci_parse($conn,$sql);
17
18oci_bind_by_name($stmt, ':start_row', $start_row);
19
20// Calculate the number of the last row in the page
21$end_row = $start_row + $rows_per_page - 1;
22oci_bind_by_name($stmt, ':end_row', $end_row);
23
24oci_execute($stmt);
25
26// Prefetch the number of rows per page
27oci_set_prefetch($stmt, $rows_per_page);
28
29return $stmt;
30
31}
应用这个方法,写出的临时使用的php语句类似于这样:
$select = "SELECT * FROM {$_DATABASE_TABLE_PREFIX_}toperate_log $where $order_by";

$sql = "SELECT * FROM ( SELECT r.*, ROWNUM as row_number FROM ( $select ) r WHERE ROWNUM <= ".($start + $limit)." ) WHERE $start <= row_number";

参考资料: http://www.wei.org.ua/

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式