Category Archive for 'php'

ADODBのページャ機能のカスタマイズ

Friday, October 26th, 2007

あるレコードセットを表示させたいときにつかえるページャ。
ADODBについてきているのでカスタマイズして使ってみる。
adodb-pager.inc.phpを開く。
function RenderGrid()
がメインのDBからのクエリー結果が表示される部分。
こうなってる。

function RenderGrid()
{
global $gSQLBlockRows; // used by rs2html to indicate how many rows to display
include_once(ADODB_DIR.’/tohtml.inc.php’);
ob_start();
$gSQLBlockRows = $this->rows;
rs2html($this->rs,$this->gridAttributes,$this->gridHeader,$this->htmlSpecialChars);
$s = ob_get_contents();
ob_end_clean();
return $s;
}

上記をこういう様に変更。

function RenderGrid()
{
global $gSQLBlockRows; // used by rs2html to indicate how many rows to display

//include_once(ADODB_DIR.’/tohtml.inc.php’);   //コメントアウト!
ob_start();
$gSQLBlockRows = $this->rows;
//rs2html($this->rs,$this->gridAttributes,$this->gridHeader,$this->htmlSpecialChars);   //コメントアウト!

while (!$this->rs->EOF) {
$row = $this->rs->fields;

//ここに表示したいフィールドやhtmlを書く

echo $row[”id”];
echo $row[”entry_date”];
echo $row[”entry_title”];

//ここに処理を書く

$this->rs->MoveNext();
}

$s = ob_get_contents();
ob_end_clean();
return $s;
}

簡単!!。
function RenderLayout()を修正すれば、外側のテーブルをはずしたりできるし。
何かの検索結果をページャで表示させたいのならば、
下記関数の
Render_First
render_next
render_last
render_prev
のリンク内容の部分を書き換えればいい。
めもでした。

Templatesbrowser.com