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

Yahoo!ブックマークに登録 はてなにブックマーク このページをdel.icio.usに登録 この記事をLivedoorクリップ! このエントリをニフティクリップに登録 このエントリをBuzzurlにブックマーク このページを POOKMARK Airlines の行き先に登録する このエントリを BlogPeople Instant Bookmark に登録 PingKingポッケに追加

あるレコードセットを表示させたいときにつかえるページャ。
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

のリンク内容の部分を書き換えればいい。

めもでした。

  • Both comments and trackbacks are currently closed.
  • Trackback URI:
  • Comments RSS 2.0

Comments are closed.

Templatesbrowser.com