一个ORACLE分页程序 挺实用的.

大漠黑枸杞

大漠黑枸杞

2016-01-29 14:42

一个ORACLE分页程序 挺实用的.,一个ORACLE分页程序,挺实用的.
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"
<HTML
<HEAD
<TITLEPaging Test</TITLE
<META NAME="Generator" CONTENT="TextPad 4.0"
<META NAME="Author" CONTENT="?"
<META NAME="Keywords" CONTENT="?"
<META NAME="Description" CONTENT="?"
</HEAD

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#800000" ALINK="#FF00FF" BACKGROUND="?"
<?php

// How to split the result into pages, like 'limits' in MySQL?
// ===========================================================
// Tutorial by Neil Craig (neilc@netactive.co.za)
// Date: 2001-06-05
// With this example, I will explain paging of database queries where the
// result is more than the developer want to print to the page, but wish to
// split the result into seperate pages.
// The table "SAMPLE_TABLE" accessed in this tutorial has 4 fields:
// PK_ID, FIELD1, FIELD2 and FIELD3. The types don't matter but you should
// define a primary key on the PK_ID field.

$display_rows = 5;     // The rows that should be display at a time. You can
                       // modify this if you like.

// Connect to the Oracle database
putenv("ORACLE_SID=purk");
putenv("ORACLE_HOME=/export/oracle8i");
putenv("TNS_ADMIN=$ORACLE_HOME/network/admin");
$OracleDBConn = OCILogon("purk","purk","lengana.world");

// This query counts the records
$sql_count = "SELECT COUNT(*) FROM SAMPLE_TABLE";

// Parse the SQL string & execute it
$row_count=OCIParse($OracleDBConn, $sql_count);       
OCIExecute($row_count);

// From the parsed & executed query, we get the amount of records found.
// I'm not storing this result into a session variable because it allows for
// new records to be shown as it is entered by another user while the result
// is printed.
if (OCIFetch($row_count)) {
    $num_rows = OCIResult($row_count,1);
} else {
    $num_rows = 0;        // If no record was found
}

// Free the resources that were used for this query
OCIFreeStatement($row_count);

// We need to prepare the query that will print the results as a page. I will
// explain the query to you in detail.

// If no page was specified in the url (ex. http://mysite.com/result.php?page=2),
// set it to page 1.
if (empty($page) || $page == 0) {
    $page = 1;
}

// The start range from where the results should be printed
$start_range = (($page - 1) * $display_rows) + 1;

// The end range to where the results should be printed
$end_range = $page * $display_rows;

// The main query. It consists of 3 "SELECT" statements nested into each
// other. The center query is the query you would normally use to return the
// records you want. Do you ordering and "WHERE" clauses in this statement.
// We select the rows to limit our results but because the row numbers are
// assigned to the rows before any ordering is done, lets the code print the
// result unsorted.
// The second nested "SELECTED" assigns the new row numbers to the result
// for us to select from.

$sql = "SELECT PK_ID, FIELD1, FIELD2, FIELD3, ROW_NO FROM (SELECT PK_ID, ";
$sql .= "FIELD1, FIELD2, FIELD3, ROWNUM ROW_NO FROM (SELECT PK_ID, FIELD1, ";
$sql .= "FIELD2, FIELD3 FROM SAMPLE_TABLE ORDER BY FIELD3)) WHERE ROW_NO BETWEEN ";
$sql .= $start_range." AND ".$end_range;
展开更多 50%)
分享

猜你喜欢

一个ORACLE分页程序挺实用的.

Web开发
一个ORACLE分页程序挺实用的.

一个ORACLE分页程序 挺实用的.

PHP
一个ORACLE分页程序 挺实用的.

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

一个实用的JSP分页代码

Web开发
一个实用的JSP分页代码

用ASP做一个分页程序

ASP
用ASP做一个分页程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

一个实用的VB屏幕程序

编程语言 网络编程
一个实用的VB屏幕程序

一个分页的论坛

PHP
一个分页的论坛

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Oracle10gR2ORA-3136错误解决

Oracle10gR2ORA-3136错误解决

一个odbc连mssql分页的类

一个odbc连mssql分页的类
下拉加载更多内容 ↓