仓酷云

标题: PHP网页编程之分页显示Oracle数据库纪录的类之一 [打印本页]

作者: 飘灵儿    时间: 2015-2-4 00:17
标题: PHP网页编程之分页显示Oracle数据库纪录的类之一
基础这个东西,有人问学php需要任何基础不?oracle|分页|数据|数据库|显示   <?php

/*********************************************
TOracleViewPage v 2.0
日期:2000-9-23

分页显示Oracle数据库纪录的类


更新日期:2000-10-19
增添显示TopRecord的功效,答应第一页显示的纪录数与其它页分歧。

作者:sharetop
email:ycshowtop@21cn.com

***********************************************/
class TOracleViewPage {

var $Table; //表名
var $MaxLine; //每页显示行数

var $LinkId; //数据库毗连号
var $Id; //排序参考字段

var $Offset; //纪录偏移量
var $Total; //纪录总数
var $Number; //本页读取的纪录数
var $TopNumber;//读新纪录时实践掏出的纪录数
var $Result; //读出的了局
var $TopResult;//读新纪录时的了局

var $TheFirstPage;//特别指定第一页的链接
var $StartRec; //指定第二页的肇端纪录号

var $TPages; //总页数
var $CPages; //以后页数

var $TGroup;
var $PGroup; //每页显示的页号个数
var $CGroup;

var $Condition; //显示前提 如:where id='$id' order by id desc
var $PageQuery; //分页显示要传递的参数
//-------------------------------------
// 以下机关函数、析构函数及初始化函数
//-------------------------------------

//机关函数
//参数:表名、最大行数、分页参考的字段、每页显示的页号数

function TOracleViewPage($TB,$ML,$id){
global $offset;

$this->Table=$TB;
$this->MaxLine=$ML;
$this->Id=$id;

$this->StartRec=0;
if(isset($offset)) $this->Offset=$offset;
else $this->Offset=0;

$this->Condition="";
$this->TheFirstPage=NULL;
$this->PageQury=NULL;
}

//初始化
//参数:用户名、暗码、数据库
function InitDB($user,$password,$db){
if (PHP_OS == "WINNT") $dllid=dl("php3_oci80.dll");
$this->LinkId = OCILogon($user,$password,$db);
}

//断开
function Destroy(){
OCILogoff($this->LinkId);
}
//-------------------------
// Set 函数
//-------------------------

//设置显示前提
//如:where id='$id' order by id desc
//请求是字串,合适SQL语法(本字串将加在SQL语句后)

function SetCondition($s){
$this->Condition=$s;
}

//设置每组的显示个数
function SetNumGroup($pg){
$this->PGroup=$pg;
}
//设置首页,如无则为NULL
function SetFirstPage($fn){
$this->TheFirstPage=$fn;
}
//设置肇端纪录,如无则取默许0
function SetStartRecord($org){
$this->StartRec=$org;
}

//设置传递参数
// key参数名 value参数值
// 如:setpagequery("id",$id);若有多个参数要传递,可屡次挪用本函数。

function SetPageQuery($key,$value){
$tmp[key]=$key; $tmp[value]=$value;
$this->PageQuery[]=$tmp;
}
//--------------------------------
// Get 函数
//--------------------------------

//取纪录总数
function GetTotalRec(){

$SQL="SELECT Count(*) AS total FROM ".$this->Table." ".$this->Condition;

$stmt = OCIParse($this->LinkId,$SQL);
$bool = OCIExecute($stmt);
if (!$bool) {
echo "毗连掉败!";
OCILogoff($this->LinkId);
exit;
}
else {
OCIFetch($stmt);
$this->Total=OCIResult($stmt,1);
}
OCIFreeStatement($stmt);
}

//取总页数、以后页
function GetPage(){
$this->TPages=ceil($this->Total/$this->MaxLine);
$this->CPages=ceil($this->Offset/$this->MaxLine)+1;
}

//取总组数、以后组
function GetGroup() {
$this->TGroup=ceil($this->TPages/$this->PGroup);
$this->CGroup=ceil($this->CPages/$this->PGroup);
}

  因为函数实在是太多了,慢慢的你就会知道,知道有这个函数就可以。
作者: 老尸    时间: 2015-2-4 10:51
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 不帅    时间: 2015-2-7 01:00
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 灵魂腐蚀    时间: 2015-2-19 05:00
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 小魔女    时间: 2015-3-6 20:49
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 精灵巫婆    时间: 2015-3-15 05:10
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 莫相离    时间: 2015-3-21 18:30
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 爱飞    时间: 2015-3-23 20:54
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 活着的死人    时间: 2015-4-6 23:52
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 分手快乐    时间: 2015-4-7 23:13
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 飘灵儿    时间: 2015-4-10 01:52
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 因胸联盟    时间: 2015-4-15 06:51
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 只想知道    时间: 2015-4-16 16:56
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 飘飘悠悠    时间: 2015-4-20 00:17
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 若相依    时间: 2015-4-30 22:48
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 再见西城    时间: 2015-5-2 02:05
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 冷月葬花魂    时间: 2015-5-5 10:04
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 简单生活    时间: 2015-6-12 23:29
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 深爱那片海    时间: 2015-6-17 04:34
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2