2006年02月13日

dbcounter 用メンテアプリ

ダウンロード

以下はサンプルページです
実行サンプル

control.php の以下の赤い部分を環境にあわせて変更するだけです。
(※ EUC-JPで保存して下さい)

frame.htm を呼び出して下さい
( 最初の実行でテーブル作成用ボタンが表示されます )
( DB上のテーブル一覧を表示できます )

<?
# **********************************************************
# 外部ファイル
# **********************************************************
require_once( "./common.php" );
require_once( "./db.php" );
require_once( "./model.php" );

# **********************************************************
# 定数定義
# **********************************************************
define( 'PASS_MESSAGE', 1 );
define( 'PASS_HEAD', 2 );
define( 'PASS_BODY', 3 );
define( 'PASS_HEAD_INIT', 4 );
define( 'PASS_BODY_INIT', 5 );
define( 'PASS_INSTALL', 6 );
define( 'PASS_TABLE_LIST', 7 );

define( 'VIEW_MESSAGE', 'viewmessage.php' );
define( 'VIEW_HEAD', 'view.php' );
define( 'VIEW_BODY', 'view2.php' );
define( 'VIEW_TABLE', 'view3.php' );
define( 'VIEW_INSTALL', 'view_install.php' );

# **********************************************************
# グローバル変数
# **********************************************************
$db_charset = 'EUC-JP';
#$db_charset = 'SJIS';
#$db_charset = 'UTF-8';
$Target		= '`カウンタ表示`';
$KeyName	= '`ページ`';
$KeyField	= 'In1Code';
$ErrMessage	= '';
$Message	= '';
$InData		= '';
$OutData	= '';
$Install	= FALSE;

# **********************************************************
# 初期処理
# **********************************************************
$SQL = new DB( "SERVER", "DB", "USER", "PASS" );
$SQL->Debug = FALSE;
if ( $_POST['GNO'] == "" ) {
	if ( $_GET['view'] == 'head' ) {
		$_POST['GNO'] = PASS_HEAD_INIT;
	}
	if ( $_GET['view'] == 'body' ) {
		$_POST['GNO'] = PASS_BODY_INIT;
	}
	LoadTableList( $SQL );
}

# **********************************************************
# 処理コントロール
# **********************************************************
switch( $_POST['GNO'] ) {
	# ヘッド部からの処理
	case PASS_HEAD:
		CheckDataHead( );
		if ( $ErrMessage == "" ) {
			UpdateData( $SQL );
			if ( $ErrMessage != "" ) {
				$_POST['GNO'] = PASS_MESSAGE;
			}
		}
		else {
			$_POST['GNO'] = PASS_MESSAGE;
		}
		break;

	# テーブル作成
	case PASS_INSTALL:
		CreateTable( $SQL );
		break;
}

# **********************************************************
# ビュー
# **********************************************************
CreateInData( );
switch( $_POST['GNO'] ) {
	# テーブルが無い場合
	case PASS_INSTALL:
		EditDataHead( );
		require_once( VIEW_HEAD );
		break;

	# メッセージ表示
	case PASS_MESSAGE:
		require_once( VIEW_MESSAGE );
		break;

	# ヘッド部からの処理
	case PASS_HEAD:
		GetData( $SQL );
		EditDataBody();
		require_once( VIEW_BODY );
		break;

	# ボディ部からの処理
	case PASS_BODY:
		EditDataBody();
		require_once( VIEW_BODY );
		break;

	# 初期画面( HEAD )
	case PASS_HEAD_INIT:
		if ( $Install ) {
			EditDataHead( );
			require_once( VIEW_HEAD );
		}
		else {
			require_once( VIEW_INSTALL );
		}
		break;

	# 初期画面( BODY )
	case PASS_BODY_INIT:
		if ( $Install ) {
			GetData( $SQL );
			EditDataBody();
			require_once( VIEW_BODY );
		}
		else {
			require_once( VIEW_TABLE );
		}
		break;

	case PASS_TABLE_LIST:
		DispTableList( $SQL );
		require_once( VIEW_TABLE );
		break;

	# その他
	default:
		break;

}

# **********************************************************
# 終了処理
# **********************************************************
$SQL->Close();

# **********************************************************
# デバッグ
# **********************************************************
#DispHash( $_POST, "リクエスト" );

?>

Trackback on "dbcounter 用メンテアプリ"

このエントリーのトラックバックURL: 

"dbcounter 用メンテアプリ"へのトラックバックはまだありません。