雛形によるマスタメンテ

  CONTROL.PHP



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

# *******************************************************************************
# 定数
# *******************************************************************************
define( TXT_PROTECT, 'readonly style="background-color:silver"' );
define( BTN_PROTECT, 'disabled' );

# *******************************************************************************
# 初期値
# *******************************************************************************
$Title		= '商品マスタメンテ';
$Sel		= array('','','','');

# *******************************************************************************
# PASS グループ
# *******************************************************************************
$DisPass = 
array(
	'Code'		=> 1,
	'Check'		=> 1,
	'Name'		=> 2,
	'Htanka'		=> 2,
	'Ztanka'		=> 2,
	'Skubun'		=> 2,
	'Sbun'		=> 2,
	'Zkubun'		=> 2,
	'Update'		=> 2
);

# *******************************************************************************
# プロテクトタイプ
# *******************************************************************************
$DisType = 
array(
	'Check'		=> BTN_PROTECT,
	'Update'		=> BTN_PROTECT,
	'Code'		=> TXT_PROTECT,
	'Name'		=> TXT_PROTECT,
	'Htanka'		=> TXT_PROTECT,
	'Ztanka'		=> TXT_PROTECT,
	'Skubun'		=> TXT_PROTECT,
	'Sbun'		=> TXT_PROTECT,
	'Zkubun'		=> TXT_PROTECT
);

# *******************************************************************************
# 初期プロテクト
# *******************************************************************************
$Dis = array(
	'Check'		=> '',
	'Code'		=> '',
	'Name'		=> TXT_PROTECT,
	'Htanka'		=> TXT_PROTECT,
	'Ztanka'		=> TXT_PROTECT,
	'Skubun'		=> TXT_PROTECT,
	'Sbun'		=> TXT_PROTECT,
	'Zkubun'		=> TXT_PROTECT,
	'Update'		=> BTN_PROTECT
);

# *******************************************************************************
# DB インスタンス
# *******************************************************************************
	$SQL = new DB( );

# *******************************************************************************
# 処理コントロール
# *******************************************************************************
	switch ( $_ENV['REQUEST_METHOD'] ) {

		case 'GET':
			break;

		case 'POST':
			$Sel[$_POST['mode']] = 'selected';
			switch( $_POST['send'] ) {
				case 'チェック':
					FirstPost();
					break;

				case '更新':
					SecondPost();
					header( "Location: {$_ENV['HTTP_REFERER']}" );
					$SQL->Close();
					exit();
					break;

			}
			break;

	}

# *******************************************************************************
# ビュー
# *******************************************************************************
	require_once( 'view.php' );

# *******************************************************************************
# 接続解除
# *******************************************************************************
	$SQL->Close();


DispDebug( "POST" );
?>
  



  VIEW.PHP



  
<SCRIPT language=JavaScript src="<?=COMMON_CLIENT_PATH?>common.js"></SCRIPT>
<SCRIPT language=JavaScript>

var Item = document.all;
var Bflg = 0;
// *****************************************************************************
// 画面チェック
// *****************************************************************************
function CheckData() {

	var Mode;

	switch( Bflg ) {
		case 1:
			Mode = eval( Item("mode").value );

			if ( Item("Code").value == "" ) {
				alert( "コードを入力して下さい" );
				Item("Code").focus();
				return false;
			}
			if ( !ChkNum( Item("Code").value ) ) {
				alert( "数字を入力して下さい" );
				Item("Code").focus();
				Item("Code").select();
				return false;
			}
			break;
		case 2:
			Mode = eval( Item("mode")(1).value );

			switch( Mode ) {
				case 1:
				case 2:
					if ( !confirm( "更新してよろしいですか" ) ) {
						return false;
					}
					break;

				case 3:
					if ( !confirm( "削除してよろしいですか" ) ) {
						return false;
					}
			}
			break;
	}


	return true;

}

</SCRIPT>

<HTML>

<!-- ***************************************************************************
 ヘッダ
**************************************************************************** -->
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<? require_once( 'style.php' ) ?>
</HEAD>

<!-- ***************************************************************************
 ボディ
**************************************************************************** -->
<BODY id=Body>
<? DispTitle( $Title ) ?>

<CENTER>
<!-- ***************************************************************************
 フォーム
**************************************************************************** -->
<FORM name="frm" method="POST" action="control.php" onSubmit='return CheckData();'>

<!-- ***************************************************************************
 処理区分
**************************************************************************** -->
	<SELECT name=mode <?=$ModeDisable?>>
		<OPTION value=1 <?=$Sel[1]?>>登録
		<OPTION value=2 <?=$Sel[2]?>>修正
		<OPTION value=3 <?=$Sel[3]?>>削除
	</SELECT>

	<BR>
	<?=$Option?>
	<BR>

	<TABLE border=5 cellpadding=5 style='border-style:ridge'>
<!-- ***************************************************************************
 コード
**************************************************************************** -->
		<TR>
			<TD>コード</TD>
			<TD>
				<INPUT
					type=text
					name=Code
					size=5
					value="<?=$_POST['Code']?>"
					<?=$Dis['Code']?>
				>
				<INPUT
					type=submit
					name=send
					value="チェック"
					<?=$Dis['Check']?>
					onClick='Bflg=1'
				>
			</TD>
		</TR>

<!-- ***************************************************************************
 商品名
**************************************************************************** -->
		<TR>
			<TD>商品名</TD>
			<TD>
				<INPUT
					type=text
					name=Name
					size=25
					value="<?=$_POST['Name']?>"
					<?=$Dis['Name']?>
				>
			</TD>
		</TR>

<!-- ***************************************************************************
 販売単価
**************************************************************************** -->
		<TR>
			<TD>販売単価</TD>
			<TD>
				<INPUT
					type=text
					name=Htanka
					size=10
					value="<?=$_POST['Htanka']?>"
					<?=$Dis['Htanka']?>
				>
			</TD>
		</TR>

<!-- ***************************************************************************
 在庫評価単価
**************************************************************************** -->
		<TR>
			<TD>在庫評価単価</TD>
			<TD>
				<INPUT
					type=text
					name=Ztanka
					size=10
					value="<?=$_POST['Ztanka']?>"
					<?=$Dis['Ztanka']?>
				>
			</TD>
		</TR>

<!-- ***************************************************************************
 商品区分
**************************************************************************** -->
		<TR>
			<TD>商品区分</TD>
			<TD>
				<INPUT
					type=text
					name=Skubun
					size=2
					value="<?=$_POST['Skubun']?>"
					<?=$Dis['Skubun']?>
				>
			</TD>
		</TR>

<!-- ***************************************************************************
 商品分類
**************************************************************************** -->
		<TR>
			<TD>商品分類</TD>
			<TD>
				<INPUT
					type=text
					name=Sbun
					size=6
					value="<?=$_POST['Sbun']?>"
					<?=$Dis['Sbun']?>
				>
			</TD>
		</TR>

<!-- ***************************************************************************
 商品分類
**************************************************************************** -->
		<TR>
			<TD>税区分</TD>
			<TD>
				<INPUT
					type=text
					name=Zkubun
					size=2
					value="<?=$_POST['Zkubun']?>"
					<?=$Dis['Zkubun']?>
				>
			</TD>
		</TR>


	</TABLE>
	<BR>
	<INPUT type=submit name=send value="更新" <?=$Dis['Update']?> onClick='Bflg=2'>
	<INPUT type=button value="Cancel" onClick='location="control.php"'>

	<BR><BR>
	<HR>
	<?=$TDATA?>

</FORM>

</BODY>
</HTML>

<? MaxWindow() ?>
  



  MODEL.PHP

  
<?
# *******************************************************************************
# チェック関数
# *******************************************************************************
function CheckData( &$SQL ){

	$Query = "select * from 商品マスタ where コード =" . Ss( $_POST['Code'] );

	$column = $SQL->QueryEX( $Query );

	if ( $column ) {
		$_POST['Code']	= $column['コード'];
		$_POST['Name']	= $column['商品名'];
		$_POST['Htanka']	= $column['販売単価'];
		$_POST['Ztanka']	= $column['在庫評価単価'];
		$_POST['Skubun']	= $column['商品区分'];
		$_POST['Sbun']	= $column['商品分類'];
		$_POST['Zkubun']	= $column['税区分'];
		return True;
	}
	else {
		return False;
	}

}

# *******************************************************************************
# インサート関数
# *******************************************************************************
function InsertData( &$SQL ){

	$IN = "insert into 商品マスタ (";
	$IN .= "コード,商品名,販売単価,在庫評価単価,商品区分,商品分類,税区分";
	$IN .= ") values(";
	$IN .= $_POST['Code'];
	$IN .= "," . Ss( $_POST['Name'] );
	$IN .= "," . Ss( $_POST['Htanka'] );
	$IN .= "," . Ss( $_POST['Ztanka'] );
	$IN .= "," . Ss( $_POST['Skubun'] );
	$IN .= "," . Ss( $_POST['Sbun'] );
	$IN .= "," . Ss( $_POST['Zkubun'] );
	$IN .= ")";

	$SQL->Execute( $IN );

}

# *******************************************************************************
# データ(アップデート)修正関数
# *******************************************************************************
function UpData( &$SQL ){

	$UP = "update 商品マスタ set ";
	$UP .= " 商品名       = " . Ss( $_POST['Name'] );
	$UP .= ",販売単価     = " . $_POST['Htanka'];
	$UP .= ",在庫評価単価 = " . $_POST['Ztanka'];
	$UP .= ",商品区分     = " . Ss( $_POST['Skubun'] );
	$UP .= ",商品分類     = " . Ss( $_POST['Sbun'] );
	$UP .= ",税区分       = " . Ss( $_POST['Zkubun'] );
	$UP .= " where コード = " . Ss( $_POST['Code'] );

	$SQL->Execute( $UP );

}

# *******************************************************************************
# データ削除関数
# *******************************************************************************
function DeleteData( &$SQL ){

	$DEL = "delete from address where ad_id =" . $_POST['ad_id'];
	$SQL->Execute( $DEL );
}

# *******************************************************************************
# 初回のデータ送信
# *******************************************************************************
function FirstPost() {

	global $Option,$ModeDisable,$DisPass,$Dis,$DisType,$SQL;

	if ( $_POST['mode'] == 1 ) {
		if ( CheckData( $SQL ) ) {
			$Option = "データは既に存在します";
			return;
		}
	}
	else {
		if ( !CheckData( $SQL ) ) {
			$Option = "該当データが存在しません";
			return;
		}
	}

	$ModeDisable = 'disabled';
	$Option = '<INPUT type=hidden name=mode value=';
	$Option .= Dd( $_POST['mode'] );
	$Option .= '>';

	if ( $_POST['mode'] != 3 ) {
		foreach( $DisPass as $Key => $Value ) {
			if ( $Value == 1 ) {
				$Dis[$Key] = $DisType[$Key];
			}
			if ( $Value == 2 ) {
				$Dis[$Key] = '';
			}
		}
	}
	else {
		foreach( $DisPass as $Key => $Value ) {
			if ( $Key == 'Update' ) {
				$Dis[$Key] = '';
			}
			else {
				$Dis[$Key] = $DisType[$Key];
			}
		}
	}
}

# *******************************************************************************
# 2回目のデータ送信
# *******************************************************************************
function SecondPost() {

	global $Sel,$SQL;

	switch ( $_POST['mode'] ) {

		case 1:
			InsertData( $SQL );
			$Sel[1] = "selected";
			break;

		case 2:
			UpData( $SQL );
			$Sel[2] = "selected";
			break;

		case 3:
			DeleteData( $SQL );
			$Sel[3] = "selected";
			break;
	}

}

?>
  










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





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

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ