フレーム行マスタメンテ

  frame.htm



  
<HTML>
<HEAD>
<TITLE>フレーム行マスタメンテ</TITLE>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
</HEAD>
<FRAMESET id="TopFrame" rows="100,*">
	<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	= '';
$ErrMessage	= '';
$Message	= '';
$InData		= '';
$OutData	= '';

# **********************************************************
# 初期処理
# **********************************************************
$SQL = new DB( "localhost", "lightbox", "root", "" );
$SQL->Debug = FALSE;

# **********************************************************
# 処理コントロール
# **********************************************************
switch( $_POST['GNO'] ) {
	# ヘッド部からの処理
	case PASS_HEAD:
		CheckDataHead( );
		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:
		GetData( $SQL );
		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' ) {
			GetData( $SQL );
			EditDataBody();
			require_once( VIEW_BODY );
		}
		break;

}

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

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



  model.php

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

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

}

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

	global $Target,$KeyField,$KeyName;

	$Query = 'select * from ' . $Target;
	$Order = ' order by 商品分類';

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

	$nRow = 0;

	while ( $Column ) {
		$nRow = $nRow + 1;
		EditQueryData( $Column , $nRow );
		$Column = $SQL->QueryEx( );
		
	}

}

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

	global $OutData;

	$OutData .= "<TR>\n";

	$OutData .= "<TD style='background-color:white'>";
	$OutData .= '<SPAN style=`cursor:hand;color:blue;text-decoration:underline`';
	$OutData .= " onClick='Call TransferData(" . $nRow . ")'";
	$OutData .= '>';
	$OutData .=  $Column['商品分類'];
	$OutData .= '</SPAN>';
	$OutData .= "</TD>\n";

	$OutData .= "<TD  style='background-color:white'>{$Column['名称']}</TD>\n";

	$OutData .= "</TR>\n";

}

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

	global $Target,$KeyField,$KeyName;

}

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

	global $Target,$KeyField,$KeyName;

}

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

	global $ErrMessage,$Message;

	if( $_POST[ 'send' ] == '新規' ) {
		$Query = 'select * from 商品分類マスタ ';
		$Query .= ' where 商品分類 = ';
		$Query = Query & Ss( $_POST['In1CodeNew'] );
		if ( $SQL->QueryEx( $Query ) ) {
			$ErrMessage = '入力されたデータは既に存在します';
			return false;
		}

		$Query = 'insert into 商品分類マスタ';
		$Query .= '(商品分類,名称,作成日,更新日)';
		$Query .= ' values(';
		$Query .= Ss( $_POST['In1CodeNew'] );
		$Query .= ',' . Ss( $_POST['In1NameNew'] );
		$Query .= ',CURDATE(),CURDATE()';
		$Query .= ')';

		if ( !$SQL->Execute( $Query ) ) {
			$ErrMessage = "登録に失敗しました";
		}

	}

	if( $_POST[ 'send' ] == '修正' ) {
		$Query = 'update 商品分類マスタ';
		$Query .= ' set ';
		$Query .= '名称 = ' . Ss( $_POST['In1NameUpd'] );
		$Query .= ',更新日 = CURDATE()';
		$Query .= ' where 商品分類 = ' . Ss( $_POST['In1CodeUpd']);

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

	}

	return TRUE;
}

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

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

	return TRUE;
}

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

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

	return TRUE;
}

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

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

	return TRUE;
}

?>
  



  view.php

クライアントスクリプトに VBScript を使用しています

  
<SCRIPT language="VBScript">

' *********************************************************
' ローカルスクリプトのグローバル変数
' *********************************************************
Dim ButtonFlg

' **********************************************************
' フォームのチェック
' **********************************************************
function frmMain_onSubmit()

	if ButtonFlg = 1 then
		if Trim( document.all("In1CodeNew").value ) = "" then
			alert("商品分類を入力して下さい")
			document.all("In1CodeNew").focus
			frmMain_onSubmit = false
			exit function
		end if
		if Trim( document.all("In1NameNew").value ) = "" then
			alert("名称を入力して下さい")
			document.all("In1NameNew").focus
			frmMain_onSubmit = false
			exit function
		end if

		if not confirm( "新規登録を行いますか?" ) then
			frmMain_onSubmit = false
			exit function
		end if
	end if

	if ButtonFlg = 2 then
		if Trim( document.all("In1CodeUpd").value ) = "" then
			alert("商品分類がセットされていません")
			frmMain_onSubmit = false
			exit function
		end if
		if Trim( document.all("In1NameUpd").value ) = "" then
			alert("名称を入力して下さい")
			document.all("In1NameUpd").focus
			frmMain_onSubmit = false
			exit function
		end if

		if not confirm( "修正更新を行いますか?" ) then
			frmMain_onSubmit = false
			exit function
		end if
	end if

	frmMain_onSubmit = true

end function

</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 rowspan=2>商品分類</TD>
	<TD class=MyCell>
		<INPUT
			type=text
			maxlength=3
			size=5
			name=In1CodeNew
			value="<?= $_POST['In1CodeNew'] ?>"
		>
	</TD>
	<TD class=MyCell rowspan=2>名 称</TD>
	<TD class=MyCell>
		<INPUT
			type=text
			maxlength=25
			size=50
			name=In1NameNew
			value="<?= $_POST['In1NameNew'] ?>"
		>
	</TD>

<!-- *******************************************************
 送信ボタン
******************************************************** -->
	<TD class=MyCell>
		<INPUT type=submit name=send value="新規" onClick='ButtonFlg=1'>
	</TD>

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

</TR>

<TR>
<!-- *******************************************************
 入力 (下段)
******************************************************** -->
	<TD class=MyCell>
		<INPUT
			type=text
			maxlength=3
			size=5
			readonly
			style='background-color:silver'
			name=In1CodeUpd
			value="<?= $_POST['In1CodeUpd'] ?>"
		>
	</TD>
	<TD class=MyCell>
		<INPUT
			type=text
			maxlength=25
			size=50
			name=In1NameUpd
			value="<?= $_POST['In1NameUpd'] ?>"
		>
	</TD>

<!-- *******************************************************
 送信ボタン
******************************************************** -->
	<TD class=MyCell>
		<INPUT type=submit name=send value="修正" onClick='ButtonFlg=2'>
	</TD>

</TR>

</TABLE>

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

</BODY>
</HTML>
  



  view2.php

クライアントスクリプトに VBScript を使用しています

  
<SCRIPT language="VBScript">

' **********************************************************
' フォームのチェック
' **********************************************************
function frmMain_onSubmit()

	frmMain_onSubmit = true

end function

' **********************************************************
' データ転送
' **********************************************************
function TransferData( nRow )

	parent.HeadFrame.document.all("In1CodeUpd").value = _
		document.all("TableData").rows(nRow).cells(0).innerText

	parent.HeadFrame.document.all("In1NameUpd").value = _
		document.all("TableData").rows(nRow).cells(1).innerText

end function

</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
>

<!-- *******************************************************
 画面定義
******************************************************** -->
<TABLE border=0 bgcolor=black cellspacing=1 cellpadding=5
	id=TableData
>
<TH class=MyCell>商品分類</TH>
<TH class=MyCell>名称</TH>
<?= $OutData ?>
</TABLE>

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

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

</BODY>
</HTML>
  



  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/05/06  update:2018/02/08   管理者用(要ログイン)





フリーフォントツール

SQLの窓ツール

SQLの窓フリーソフト

写真素材

一般ツールリンク

SQLの窓

フリーソフト