最新 php oracle 数据库连接 数据库分页
php 5连接 oracle 10g
php oracle 分页
<?php
//buyicode studio 20/12/2009
//总记录数
$sql = "select ROWNUM rn from 社員固定情報";
$par = ociparse($db_conn, $sql);
ociexecute($par);
$nRecords = ocifetchstatement($par, $rs);
//取得页码
$page = $_GET['page'];
//定义每页显示信息条数
$page_size = 5;
//当页码参数为空时,将页码设为1
if ($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 社員固定情報) temp
where ROWNUM <= $endRow
)
where rn >= $startRow";
//方法二
$cmdstr = "select *
from
(
select temp.*, ROWNUM rn
from (select * from 社員固定情報) temp
)
where rn between $startRow and $endRow ";
//执行查询SQL
$parsed = ociparse($db_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:$nRows</td></tr></table>\n<br>";
//显示分页
//Pages: First Prev 1 2 3 4 5 6> Next Last
//总页数
$totalPage = ceil($nRows / $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>';
}
?>
最新 php oracle 数据库连接 数据库分页的更多相关文章
- mysql / sqlserver / oracle 常见数据库分页
空闲时间里用着mysql学习开发测试平台和测试用具, 在公司里将可用的测试平台部署,将数据库换成sqlserver 巴望着能去用oracle的公司 mysql中的分页 limit是mysql的语法se ...
- 使用Jsp/Js/Ajax/Json/Jquery/Easyui + Servlet + JDBC + Lucene/Mysql/Oracle完成数据库分页
package loaderman.action; import java.io.IOException; import java.io.PrintWriter; import java.util.L ...
- jsp+oracle实现数据库内容以表格形式在前台显示(包含分页)
jsp+oracle实现数据库内容以表格形式在前台显示(包含分页) 在文件夹内新增list_emp.jsp 代码如下: <%@ page contentType="text/html& ...
- 银行账户管理系统(oracle数据库连接池,数据库的链接,)
/* * 银行账户管理系统: * 属性:账户id,姓名,金额salary,利息类型: *管理员模块实现的功能: * 1.给用户开户 * 2.查询所有账户信息 * 用户模块实现的功能: * 1.显示用户 ...
- Oracle数据库和DB2数据库分页SQL的区别举例
--------------------------ORACLE数据库分页SQL举例------------------------------------------------ SELECT * ...
- MySQL、SqlServer、Oracle三大主流数据库分页查询
在这里主要讲解一下MySQL.SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法.可能会有人说这些网上都有,但我的主要目的是把这些知识通过我实际的应用 ...
- oracle、mysql、db2三大数据库分页方法的整理
最近项目中经常会涉及到代码中支持三种数据库的分页的功能,自己整理了关于三种数据库的分页的写法,分享给大家,以供大家使用.希望能帮到更多的码友! 先来看一个代码片段: String page = ala ...
- Oracle 数据库分页查询的三种方法
一.Oracle 数据库分页查询的三种方法 1.简介 不能对 rownum 使用 >(大于或等于 1 的数值).>=(大于 1 的数值).=(不等于 1 的数值),否则无结果.所以直接用 ...
- 各种数据库分页语句整理以及Oracle数据库中的ROWNUM和ORDER BY的区别
.oracle数据库分页 select * from (select a.*,rownum rc from 表名 where rownum<=endrow) a where a.rc>=s ...
随机推荐
- lintcode-单例
单例 是最为最常见的设计模式之一.对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例.例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 ...
- SecureCRT 下MySQL中文乱码问题终极解决方案-乾颐堂
一.查看Linux主机系统字符集 命令: echo $LANG [root@pythontab.com ~]# echo $LANG [root@pythontab.com ~]# en_US.UTF ...
- Sublime Text 2 安装配置插件
最近学习python,看网上推荐用sublime text2挺方便,就学习了一下对sublime text2 安装插件,先放在这里,以备以后查找 根据晚上资料修改,原文请看这里 Python的自动补全 ...
- VWAP算法(成交量加权平均价)
算法交易其实主要是用在基金公司.券商量化比较多.例如我已经选好股,要大量买入,但是单凭交易员的操作海量单而且要完成买入100万股这些的操作是有点的困难的.那么这时候怎样解决拆单,防止冲击成本的问题呢? ...
- C primer 编程练习 (不断更新)
目前在看<C Primer>,以后会经常在这篇博客里更新课后的编程练习题 第二章:编程练习 2.1 #include <stdio.h> int main(void) { pr ...
- 安装DotNetCore.1.0.0-VS2015Tools.Preview2一直失败
266C:22B0][2016-08-01T23:02:29]i052: Condition 'WixBundleInstalled OR NOT(NetFx45Release < 378675 ...
- redis 通配符 批量删除key
Redis 中 DEL指令支持多个key作为参数进行删除 但不支持通配符,无法通过通配符批量删除key,不过我们可以借助 Linux 的管道和 xargs 指令来完成这个动作. 比如要删除所有以use ...
- Web大文件(夹)上传(断点续传)控件发布-Xproer.HttpUploader6
版权所有 2009-2017荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...
- 盒子模型 以及CSS的box-sizing属性。
盒子模型有两种 一种是 内容盒子模型 一种是边框盒子模型. 内容盒子模型(标准盒子模型)由width和height中指定的元素的尺寸不包括内边距和边框 仅是指的内容的实际尺寸: 网上搜索了两张配图不错 ...
- .net Tuple特性
.net 4.0 引入了 Tuple特性: 在C# 4.0之前我们函数有多个返回值,通常是使用ref,out .到了c# 4.0 应当使用元组Tuple而不是使用输出参数,在任何时候都应避免使用ref ...