一度にデータを5行づつ表示する (ページ処理)

  まずは、5行のみ表示してみる



方法は単純です。データを読み出す時にカウントして、最初の5行の時のみ
表示処理を行ないます。

  
	$Count = 0;

	while ( $COLUMN ) {

		$Count++;

		if ( $Count <= 5 ) {

			$LIST .= "<TR>";
			$LIST .= Td( $COLUMN['取引区分'] );
			$LIST .= Td( $COLUMN['取引日付'] );
			$LIST .= Td( $COLUMN['伝票番号'] );
			$LIST .= Td( $COLUMN['名称'] );
			$LIST .= Td( $COLUMN['商品名'] );
			$LIST .= Td( $COLUMN['数量'] );
			$LIST .= Td( $COLUMN['単価'] );
			$LIST .= Td( $COLUMN['金額'] );
			$LIST .= Td( $COLUMN['消費税'] );
			$LIST .= Td( $COLUMN['種別'] );
			$LIST .= Td( $COLUMN['備考'] );
			$LIST .= Td( $COLUMN['更新フラグ'] );
			$LIST .= "</TR>";

		}


		$COLUMN = $SQL->QueryEX( "" );		

	}
  



  最初の5行以外を表示する為のリンクエリアを定義する

$LINK として画面に埋め込みましょう。

  
<?= $LIST ?>

<BR>
<?= $LINK ?>

  



  ページをカウントする

  
	$Count = 0;
	$Page = 0;

	while ( $COLUMN ) {

		$Count++;

		if ( $Count % 5 == 1 ) {
			$Page++;
		}

		if ( $Count <= 5 ) {
			$LIST .= "<TR>";
			$LIST .= Td( $COLUMN['取引区分'] );
			$LIST .= Td( $COLUMN['取引日付'] );
			$LIST .= Td( $COLUMN['伝票番号'] );
			$LIST .= Td( $COLUMN['名称'] );
			$LIST .= Td( $COLUMN['商品名'] );
			$LIST .= Td( $COLUMN['数量'] );
			$LIST .= Td( $COLUMN['単価'] );
			$LIST .= Td( $COLUMN['金額'] );
			$LIST .= Td( $COLUMN['消費税'] );
			$LIST .= Td( $COLUMN['種別'] );
			$LIST .= Td( $COLUMN['備考'] );
			$LIST .= Td( $COLUMN['更新フラグ'] );
			$LIST .= "</TR>";
		}

		$COLUMN = $SQL->QueryEX( "" );		

	}
  



  ページを表示する

$LINK を関数内でグローバルとして定義して下さい。

  
if ( $Count % 5 == 1 ) {
	$Page++;
	$LINK .= $Page . "&nbsp;";
}

  



  URLに与える引数により、指定範囲の表示を可能にする

  
	if ( $_GET['start'] == '' ) {
		$Start = 1;
		$End = 5;
	}
	else {
		$Start = $_GET['start'];
		$End = $_GET['end'];
	}

	$Count = 0;
	$Page = 0;

	while ( $COLUMN ) {

		$Count++;

		if ( $Count % 5 == 1 ) {
			$Page++;
			$LINK .= $Page . "&nbsp;";
		}

		if ( $Start <= $Count and $Count <= $End ) {

			$LIST .= "<TR>";
			$LIST .= Td( $COLUMN['取引区分'] );
			$LIST .= Td( $COLUMN['取引日付'] );
			$LIST .= Td( $COLUMN['伝票番号'] );
			$LIST .= Td( $COLUMN['名称'] );
			$LIST .= Td( $COLUMN['商品名'] );
			$LIST .= Td( $COLUMN['数量'] );
			$LIST .= Td( $COLUMN['単価'] );
			$LIST .= Td( $COLUMN['金額'] );
			$LIST .= Td( $COLUMN['消費税'] );
			$LIST .= Td( $COLUMN['種別'] );
			$LIST .= Td( $COLUMN['備考'] );
			$LIST .= Td( $COLUMN['更新フラグ'] );
			$LIST .= "</TR>";
		}

		$COLUMN = $SQL->QueryEX( "" );		


	}
  



  アンカー用の挟み込み関数を作成してページ表示に適用してみる

  
# **********************************************************
# <A> 挟み込み関数
# **********************************************************
function Link( $Url, $strValue ) {

	return "<A href=" . Dd( $Url ) . ">" . $strValue . "</A>";

}
  

  
if ( $Count % 5 == 1 ) {
	$Page++;
	$LINK .= Link( "", $Page ) . "&nbsp;";
}

  



  現在表示しているページは通常表示にする

  
if ( $Count % 5 == 1 ) {
	$Page++;
	if ( $End / 5 == $Page ) {
		$LINK .= $Page . "&nbsp;";
	}
	else {
		$LINK .= Link( "", $Page ) . "&nbsp;";
	}
}

  



  正しいURL文字列を適用する

  
$Url = $_SERVER['SCRIPT_NAME'] . "?";
$Url .= "Syubetu=" . urlencode( $_GET['Syubetu'] ) . "&";
$Url .= "start=" . (($Page - 1) * 5 + 1) . "&";
$Url .= "end=" . (($Page - 1) * 5 + 1 + 4);
$LINK .= Link( $Url, $Page ) . "&nbsp;";

  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ