商品マスタメンテ

  frame.htm



  
<HTML>
<HEAD>
<TITLE>フレームマスタメンテ</TITLE>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
</HEAD>
<FRAMESET id="TopFrame" rows="70,*">
	<FRAME name="HeadFrame" src="control.php?view=head">
	<FRAME name="BodyFrame" src="control.php?view=body">
</FRAMESET>
</HTML>
  



  control.php



  
<?
# **********************************************************
# 外部ファイル
# **********************************************************
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( 'VIEW_MESSAGE', 'viewmessage.php' );
define( 'VIEW_HEAD', 'view.php' );
define( 'VIEW_BODY', 'view2.php' );

# **********************************************************
# グローバル変数
# **********************************************************
$Target		= '商品マスタ';
$KeyName	= '商品コード';
$KeyField	= 'In1001';
$ErrMessage	= '';
$Message	= '';
$InData		= '';
$OutData	= '';
$DtpEnable	= '1';

# **********************************************************
# 初期処理
# **********************************************************
if ( $_POST[$KeyField] != "" ) {
	setcookie( $KeyField, $_POST[$KeyField] );
}

$SQL = new DB( "localhost", "lightbox", "root", "" );
$SQL->Debug = FALSE;

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

	# ボディ部からの処理
	case PASS_BODY:
		if( $_POST['send'] == '削除' ){
			CheckDataBody( );
			if ( $ErrMessage == "" ) {
				DeleteData( $SQL );
				if ( $ErrMessage == "" ) {
					$_POST['GNO'] = PASS_MESSAGE;
				}
			}
			else {
				$_POST['GNO'] = PASS_MESSAGE;
			}
		}
		else {
			CheckDataBody( );
			if ( $ErrMessage == "" ) {
				UpdateData( $SQL );
				if ( $ErrMessage == "" ) {
					$_POST['GNO'] = PASS_MESSAGE;
				}
			}
			else {
				$_POST['GNO'] = PASS_MESSAGE;
			}
		}
		break;

}

# **********************************************************
# ビュー
# **********************************************************
CreateInData( );
switch( $_POST['GNO'] ) {
	# メッセージ表示
	case PASS_MESSAGE:
		require_once( VIEW_MESSAGE );
		break;

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

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

	# 初期画面
	default:
		if ( $_GET['view'] == 'head' ) {
			RestoreCookie( );
			EditDataHead( );
			require_once( VIEW_HEAD );
		}
		if ( $_GET['view'] == 'body' ) {
			EditDataBody();
			require_once( VIEW_MESSAGE );
		}
		break;

}

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

# **********************************************************
# デバッグ
# **********************************************************
#DispData();
?>
  



  model.php

  
<?
# **********************************************************
# SQL文字列作成用
# **********************************************************
function SetCond( &$Value ) {

	if ( $Value == "" ) {
		$Value .= " where ";
	}
	else {
		$Value .= " and ";
	}

}

# **********************************************************
# データベースデータの読出し
# **********************************************************
function GetData( &$SQL ) {

	global $Target,$KeyField,$KeyName;
	global $DtpEnable;

	$Query = "select $Target.*,名称 from " . $Target . ",商品分類マスタ";
	$Query .= ' where 商品マスタ.商品分類 = 商品分類マスタ.商品分類';
	$Query .= ' and ' . $KeyName . ' = ' . Ss($_POST[$KeyField]);

	$Column = $SQL->QueryEx( $Query );

	if ( $Column ) {
		EditQueryData( $Column );
	}
	else {
		$_POST["In2006"] = GetDtpValue( "" );
		$DtpEnable = "0";
	}

}

# **********************************************************
# データベースデータの編集
# **********************************************************
function EditQueryData( &$Column ) {

	$_POST["In2001"] = $Column['商品名'];
	$_POST["In2002"] = $Column['在庫評価単価'];
	$_POST["In2003"] = $Column['販売単価'];
	$_POST["In2004"] = $Column['商品分類'];
	$_POST["In2004Name"] = $Column['名称'];
	$_POST["In2005"] = $Column['商品区分'];
	$_POST["In2006"] = GetDtpValue( $Column['作成日'] );

}

# **********************************************************
# ヘッド部の編集
# **********************************************************
function EditDataHead( ) {

	global $Target,$KeyField,$KeyName;

}

# **********************************************************
# ボディ部の編集
# **********************************************************
function EditDataBody( ) {

	global $Target,$KeyField,$KeyName;
	global $OptionList,$SQL;

	$Query = 'select コード,名称 from コード名称マスタ';
	$Query .= " where 区分 = 4 order by コード";

	$OptionList = CreateOption( $SQL, "In2005", $Query );
}

# **********************************************************
# 更新処理
# **********************************************************
function UpdateData( &$SQL ) {

	global $ErrMessage,$Message;
	global $Target,$KeyField,$KeyName;

	$Query = 'select * from ' . $Target;
	$Query .= ' where ' . $KeyName . ' = ' . Ss($_POST[$KeyField]);

	if ( $SQL->QueryEx( $Query ) ) {
		$Query = 'update ' . $Target;
		$Query .= ' set ';
		$Query .= '商品名 = ' . Ss( $_POST['In2001'] );
		$Query .= ',在庫評価単価 = ' . $_POST['In2002'];
		$Query .= ',販売単価 = ' . $_POST['In2003'];
		$Query .= ',商品分類 = ' . Ss( $_POST['In2004'] );
		$Query .= ',商品区分 = ' . Ss( $_POST['In2005'] );
		$Query .= ',作成日 = ' . Ss( GetDtpPostValue( $_POST['In2006'] ) );
		$Query .= ',更新日 = CURDATE()';
		$Query .= ' where ' . $KeyName . ' = ' . Ss($_POST[$KeyField]);

		if ( !$SQL->Execute( $Query ) ) {
			$ErrMessage = '更新に失敗しました';
			return FALSE;
		}

		$Message = '正常に更新されました';
	}
	else{

		$Query = 'insert into ' . $Target;
		$Query .= ' (商品コード,商品名,在庫評価単価,販売単価,';
		$Query .= '商品分類,商品区分,作成日,更新日) ';
		$Query .= ' values(';
		$Query .=  Ss( $_POST[$KeyField] );
		$Query .= ' ,' . Ss( $_POST['In2001']);
		$Query .= ' ,' . $_POST['In2002'];
		$Query .= ' ,' . $_POST['In2003'];
		$Query .= ' ,' . Ss( $_POST['In2004']);
		$Query .= ' ,' . Ss( $_POST['In2005']);
		$Query .= ' ,CURDATE(),CURDATE()';
		$Query .= ' )';
		
		if ( !$SQL->Execute( $Query ) ) {
			$ErrMessage = '追加に失敗しました';
			return FALSE;
		}

		$Message = '新規登録に成功しました';
	}

	return TRUE;
}

# **********************************************************
# 削除処理
# **********************************************************
function DeleteData( &$SQL ){

	global $ErrMessage,$Message;
	global $Target,$KeyField,$KeyName;

	$Query = 'delete from ' . $Target;
	$Query .= ' where ' . $KeyName . ' = ' . Ss($_POST[$KeyField]);

	if ( !$SQL->Execute( $Query ) ) {
		$ErrMessage = '削除に失敗しました';
		return FALSE;
	}

	$Message = '削除処理が成功しました';
	return TRUE;
}

# **********************************************************
# ヘッド部のエラーチェック
# **********************************************************
function CheckDataHead( ) {

	global $ErrMessage;
	global $Target,$KeyField,$KeyName;

	if ( trim( $_POST[$KeyField] ) == "" ) {
		$ErrMessage = $KeyName . 'は必須入力です';
		return FALSE;
	}

	return TRUE;
}

# **********************************************************
# ボディ部のエラーチェック
# **********************************************************
function CheckDataBody( ) {

	global $ErrMessage;
	global $Target,$KeyField,$KeyName;

	return TRUE;
}

?>
  



  view.php

  
<SCRIPT language="javascript" type="text/javascript">

// **********************************************************
// フィールドのクリア
// **********************************************************
function ClearField(){

	document.getElementsByName("<?= $KeyField ?>")[0].value = "";
}

// *********************************************************
// フォームのチェック
// *********************************************************
function CheckData() {

	return true;
}

</SCRIPT>


<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<TITLE>PHP 雛形</TITLE>
<STYLE>
	.MyCell {
		background-color:silver
	}
</STYLE>
</HEAD>
<BODY>

<FORM
	name=frmMain
	method=GET
	action=control.php
	target=BodyFrame
	onSubmit='return CheckData()'
>
<TABLE border=0 bgcolor=black cellspacing=1 cellpadding=5>
<TR>
<!-- *******************************************************
 入力
******************************************************** -->
	<TD class=MyCell>商品コード</TD>
	<TD class=MyCell>
		<INPUT
			type=text
			name=<?= $KeyField ?>
			value="<?= $_POST[$KeyField] ?>"
			maxlength=4
			size=5
			onBlur='
				strWork = "0000" + this.value;
				this.value = strWork.substr(strWork.length-4,4);
			'
			onKeydown='
				if ( event.keyCode == 13 ) {
					strWork = "0000" + this.value;
					this.value = strWork.substr(strWork.length-4,4);
				}
			'
		>
	</TD>

<!-- *******************************************************
 送信ボタン
******************************************************** -->
	<TD class=MyCell>
		<INPUT type=submit name=send value="送信">
	</TD>

<!-- *******************************************************
 クリアボタン
******************************************************** -->
	<TD class=MyCell>
		<INPUT 
			type=button
			value="クリア"
			onClick='ClearField()'
		>
	</TD>

<!-- *******************************************************
 画面初期化ボタン
******************************************************** -->
	<TD class=MyCell>
		<INPUT 
			type=button
			value="Cancel"
			onClick='top.location="frame.htm"'
		>
	</TD>
</TR>
</TABLE>

<!-- *******************************************************
 画面ID
******************************************************** -->
<INPUT type=hidden name=GNO value="<?= PASS_HEAD ?>">
</FORM>

</BODY>
</HTML>

<SCRIPT for=window event=onload language="JavaScript">

	window.focus();
	top.moveTo( 0, 0 );
	top.resizeTo( screen.width, screen.height - 32 );

</SCRIPT>
  



  view2.php

  
<SCRIPT language="javascript" type="text/javascript">

// *********************************************************
// ローカルスクリプトのグローバル変数
// *********************************************************
var BtnFlg = 0;
var RefObj;
var RefObj2;
var RefWin;

// *********************************************************
// フォームのチェック
// *********************************************************
function CheckData() {

	if ( BtnFlg == 0 ) {
		if ( document.getElementsByName("In2001")[0].value == "" ) {
			alert("商品名を入力して下さい   ")
			document.all("In2001").focus();
			return false;
		}
		if ( document.getElementsByName("In2002")[0].value == "" ) {
			alert("在庫評価単価を入力して下さい   ")
			document.all("In2002").focus();
			return false;
		}
		if ( document.getElementsByName("In2003")[0].value == "" ) {
			alert("販売単価を入力して下さい   ")
			document.all("In2003").focus();
			return false;
		}
		if ( document.getElementsByName("In2004")[0].value == "" ) {
			alert("商品分類を選択して下さい   ")
			return false;
		}
		if ( !confirm( "更新してもよろしいですか?" ) ) {
			return false;
		}
	}
	if ( BtnFlg == 9 ) {
		BtnFlg = 0;
		if ( !confirm( "★★★ 削除してもよろしいですか? ★★★   " ) ) {
			return false;
		}
	}

	return true;
}

</SCRIPT>

<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<TITLE>PHP 雛形</TITLE>
<STYLE>
	.MyCell {
		background-color:silver
	}
</STYLE>
</HEAD>

<!-- *******************************************************
 ドキュメントオブジェクト
******************************************************** -->
<BODY>
<SPAN style='color:blue'><?= $ErrMessage ?></SPAN>
<SPAN style='color:black;font-weight:bold'><?= $Message ?></SPAN>

<!-- *******************************************************
 フォーム
******************************************************** -->
<FORM
	name=frmMain
	method=GET
	action=control.php
	onSubmit='return CheckData()'
>

<!-- *******************************************************
 画面定義
******************************************************** -->
<INPUT type=submit name=send value="更新" onClick='BtnFlg=0'>
<INPUT type=reset value="リセット">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT
	type=submit
	name=send
	value="削除"
	style='color:red;font-weight:bold'
	onClick='BtnFlg=9'
>
<br><br>

<TABLE border=0 bgcolor=black cellspacing=1 cellpadding=5>
<TR>
	<TD class=MyCell>商品名</TD>
	<TD class=MyCell>
		<INPUT
			type=text
			name=In2001
			value="<?= $_POST["In2001"] ?>"
			maxlength=25
			size=70
			onKeydown='
				if ( event.keyCode == 13 ) {
					event.returnValue=false;
					document.all("In2002").focus();
				}
			'
		>
	</TD>
</TR>
<TR>
	<TD class=MyCell>在庫評価単価</TD>
	<TD class=MyCell>
		<INPUT
			type=text
			name=In2002
			value="<?= $_POST["In2002"] ?>"
			maxlength=16
			size=18
			style='text-align:right'
			onKeydown='
				if ( event.keyCode == 13 ) {
					event.returnValue=false;
					document.all("In2003").focus();
				}
			'
		>
	</TD>
</TR>
<TR>
	<TD class=MyCell>販売単価</TD>
	<TD class=MyCell>
		<INPUT
			type=text
			name=In2003
			value="<?= $_POST["In2003"] ?>"
			maxlength=16
			size=18
			style='text-align:right'
			onKeydown='
				if ( event.keyCode == 13 ) {
					event.returnValue=false;
					document.all("In2005").focus();
				}
			'
		>
	</TD>
</TR>
<TR>
	<TD class=MyCell>商品分類</TD>
	<TD class=MyCell>
		<INPUT
			type=text
			name=In2004
			value="<?= $_POST["In2004"] ?>"
			size=5
			readonly
			style='background-color:silver'
		>
		<INPUT
			type=text
			name=In2004Name
			value="<?= $_POST["In2004Name"] ?>"
			size=30
			readonly
			style='background-color:silver'
		>
		<A
			href="sbun.htm"
			target=RefWindow
			onClick='
				RefObj = document.all("In2004");
				RefObj2 = document.all("In2004Name");
			'
		>
		参照</A>
	</TD>
</TR>
<TR>
	<TD class=MyCell>商品区分</TD>
	<TD class=MyCell>
		<SELECT 
			name=In2005
			onKeydown='
				if ( event.keyCode == 13 ) {
					event.returnValue=false;
					document.all("In2006").focus();
				}
			'
		>
		<?= $OptionList ?>
		</SELECT>
	</TD>
</TR>
<TR>
	<TD class=MyCell>作成日</TD>
	<TD class=MyCell>
		<OBJECT
			NAME=In2006
			CLASSID='CLSID:20DD1B9E-87C4-11D1-8BE3-0000F8754DA1'
			style='width:120;height:26'
			onKeydown='
				if ( event.keyCode == 13 ) {
					event.returnValue=false;
					document.all("In2001").focus();
				}
			'
		>
		<PARAM NAME="CurrentDate" VALUE="<?= $_POST["In2006"] ?>">
		<PARAM NAME="Enabled" VALUE="<?= $DtpEnable ?>">
		</OBJECT>
	</TD>
</TR>
</TABLE>

<!-- *******************************************************
 画面番号
******************************************************** -->
<INPUT type=hidden name=GNO value="<?= PASS_BODY ?>">

<!-- *******************************************************
 HEAD 部の入力データ引継ぎ用の埋め込み
******************************************************** -->
<?= $InData ?>
</FORM>

</BODY>
</HTML>

<SCRIPT for=window event=onload language="JavaScript">

	document.all("In2001").focus();

</SCRIPT>
<SCRIPT for=window event=onunload language="JavaScript">

	try {
		RefWin.close();
	}
	catch(e) {
	}

</SCRIPT>
  



  sbun.htm

  
<HTML>
<HEAD>
<TITLE>商品分類参照</TITLE>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<STYLE>
	.MyCell {
		background-color:white
	}
</STYLE>
</HEAD>
<BODY>
<TABLE border=0 bgcolor=black cellspacing=1 cellpadding=5>
<TR>
	<TD class=MyCell>
		<A
			href="#"
			onClick='
				opener.RefObj.value="A01";
				opener.RefObj2.value="野菜";
				window.close();
			'
		>A01</A>
	</TD>
	<TD class=MyCell>野菜</TD>
</TR>
</TABLE>
</BODY>
</HTML>

<SCRIPT for=window event=onload language="JavaScript">

	window.focus();
	top.moveTo( screen.width/2, 0 );
	top.resizeTo( screen.width/2, screen.height - 32 );

	opener.RefWin = window;

</SCRIPT>
  



  viewmessage.php

  
<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<TITLE>メッセージ表示専用</TITLE>
<STYLE>
	.MyCell {
		background-color:silver
	}
</STYLE>
</HEAD>
<BODY>
<SPAN style='color:blue'><?= $ErrMessage ?></SPAN>
<SPAN style='color:black;font-weight:bold'><?= $Message ?></SPAN>
</BODY>
</HTML>
  













   SQLの窓    create:2005/06/20  update:2018/02/08   管理者用(要ログイン)





フリーフォントツール

SQLの窓ツール

SQLの窓フリーソフト

写真素材

一般ツールリンク

SQLの窓

フリーソフト