<?php
/**********************************************
TOracleViewPagev 2.0
日付: 2000 -9-23
Oracleデータベースのレコードをページネーションで表示するためのクラス
更新日: 2000-10-19
先頭ページに表示されるレコード数を他のページと変えられるTopRecord表示機能を追加しました。
著者: sharetop
email:ycshowtop@21cn.com
*********************************** ******* ************/
class TOracleViewPage {
var $Table; //ページごとに表示される行数
var $LinkId; number
var $Id; // ソート参照フィールド
var $Offset; // レコードの総数
var $Number; // このページで読み取られたレコードの数; //新規レコード読み込み時に取り出した実際のレコード数
var $Result; //読み込み結果
var $TopResult;//新規レコード読み込み結果
var $TheFirstPage;//リンクを特別に指定最初のページへ
var $StartRec; // 2 ページ目の開始レコード番号を指定
var $TPages; // 現在のページ番号
var $TGroup; $PGroup; // 各ページに表示されるページ番号の数
var $CGroup; // 次のような条件を表示します: where id='$id' desc
var $PageQuery;ページ内に渡すパラメータを表示します
//-------------------------------------
/ / 以下のコンストラクター、デストラクター、および初期化関数
//-------------------------------------
//コンストラクター
/ /パラメータ: テーブル名、最大行数、ページング参照フィールド、各ページに表示されるページ番号
function TOracleViewPage($TB,$ML,$id){
global $offset; this->テーブル =$TB;
$this->ID=$id;
if(isset($offset)) ) $this->Offset=$offset;
else $this->Condition="";
$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) ;
}
//--------------------------
// 関数を設定します
//--------- ----------------- -----------
//表示条件を設定する
//例: 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; -----------------------------
// 関数の取得
//---------- - --------------------
//レコードの合計数を取得します
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)
}
else {
$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 );
http://www.bkjia.com/PHPjc/314257.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/314257.html
技術記事
<?php /********************************************* TOracleViewPagev 2.0 更新日: 2000-9-23 Oracle データベース レコードのページング表示用クラス 更新日: 2000-10-19 TopReco の表示を追加...