其实这个问题也没啥难度,不过到网上找了很久,用 between 的也有,用 minus 的也有。不过用这几种方法都没能成功的完成带排序的分页查询。最后还是在Oracle官网找到了解决的办法。
鉴于Oracle官网无与伦比的速度,将其摘抄与此,便于日后封装 oci 连接类。

原文见 http://www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/fuecks_paged.html

 1[转]php + Oracle 实现分页function & paged_result(& $conn, $select, $start_row, $rows_per_page) {
 2[转]php + Oracle 实现分页
 3[转]php + Oracle 实现分页$sql = "SELECT
 4[转]php + Oracle 实现分页            *
 5[转]php + Oracle 实现分页FROM 
 6[转]php + Oracle 实现分页            (
 7[转]php + Oracle 实现分页SELECT
 8[转]php + Oracle 实现分页r.*, ROWNUM as row_number 
 9[转]php + Oracle 实现分页FROM
10[转]php + Oracle 实现分页$select ) r
11[转]php + Oracle 实现分页WHERE
12[转]php + Oracle 实现分页ROWNUM <= :end_row
13[转]php + Oracle 实现分页            )
14[转]php + Oracle 实现分页WHERE :start_row <= row_number";
15[转]php + Oracle 实现分页    
16[转]php + Oracle 实现分页$stmt = oci_parse($conn,$sql);
17[转]php + Oracle 实现分页    
18[转]php + Oracle 实现分页oci_bind_by_name($stmt, ':start_row', $start_row);
19[转]php + Oracle 实现分页    
20[转]php + Oracle 实现分页// Calculate the number of the last row in the page
21[转]php + Oracle 实现分页$end_row = $start_row + $rows_per_page - 1;
22[转]php + Oracle 实现分页oci_bind_by_name($stmt, ':end_row', $end_row);
23[转]php + Oracle 实现分页    
24[转]php + Oracle 实现分页oci_execute($stmt);
25[转]php + Oracle 实现分页    
26[转]php + Oracle 实现分页// Prefetch the number of rows per page
27[转]php + Oracle 实现分页oci_set_prefetch($stmt, $rows_per_page);
28[转]php + Oracle 实现分页    
29[转]php + Oracle 实现分页return $stmt;
30[转]php + Oracle 实现分页
31[转]php + Oracle 实现分页}

应用这个方法,写出的临时使用的php语句类似于这样:
[转]php + Oracle 实现分页$select = "SELECT * FROM {$_DATABASE_TABLE_PREFIX_}toperate_log $where $order_by";
[转]php + Oracle 实现分页
[转]php + Oracle 实现分页
$sql = "SELECT * FROM ( SELECT r.*, ROWNUM as row_number FROM ( $select ) r WHERE ROWNUM <= ".($start + $limit)." ) WHERE $start <= row_number";

相关文章:

  • 2022-12-23
  • 2021-11-20
  • 2021-11-20
  • 2022-12-23
  • 2021-10-02
  • 2021-10-02
  • 2021-10-02
  • 2021-11-02
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-02
  • 2021-11-15
相关资源
相似解决方案