鉴于Oracle官网无与伦比的速度,将其摘抄与此,便于日后封装 oci 连接类。
原文见 http://www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/fuecks_paged.html
1
function & paged_result(& $conn, $select, $start_row, $rows_per_page) {
2![[转]php + Oracle 实现分页 [转]php + Oracle 实现分页](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
3
$sql = "SELECT
4
*
5
FROM
6
(
7
SELECT
8
r.*, ROWNUM as row_number
9
FROM
10
( $select ) r
11
WHERE
12
ROWNUM <= :end_row
13
)
14
WHERE :start_row <= row_number";
15
16
$stmt = oci_parse($conn,$sql);
17
18
oci_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;
22
oci_bind_by_name($stmt, ':end_row', $end_row);
23
24
oci_execute($stmt);
25
26
// Prefetch the number of rows per page
27
oci_set_prefetch($stmt, $rows_per_page);
28
29
return $stmt;
30![[转]php + Oracle 实现分页 [转]php + Oracle 实现分页](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
31
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
应用这个方法,写出的临时使用的php语句类似于这样: