ADM2022.php 4.13 KB
<?PHP 
//*****************************************************************************
//* プログラム名:請求・入金管理
//* プログラムID:ADM2020.php
//* 機能        :拠点更新処理
//*****************************************************************************
header("Content-type: text/html; charset=EUC-JP");
include("./inc/session_start.inc");
include("./inc/SessionChk.inc");
include("./inc/dbcon.inc");

$mode      = $_GET["mode"];
$seq       = $_GET["seq"];
$area_name = $_POST["area_name"];

if($mode == "add"){
		//*** 新規 ***//

		//seq設定
		$strSQL = "SELECT * FROM mst_area ORDER BY area_id DESC";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(SELECT)");
			exit;
		}
		if(pg_numrows($objRec) > 0){
			$objData = pg_fetch_object($objRec, 0);
			$newSeq = $objData->area_id + 1;

			//disp_rank
			$strSQL2 = "SELECT * FROM mst_area ORDER BY disp_rank DESC";
			$objRec2 = pg_exec($strSQL2);
			if($objRec2==false){
				echo("SQL実行に失敗しました(SELECT)");
				exit;
			}
			if(pg_numrows($objRec2) > 0){
					$objData2 = pg_fetch_object($objRec2, 0);
					$newRank = $objData2->disp_rank + 1;
			}

		}else{
			$newSeq = 1;
			$newRank = 1;
		}

		//INSERT
		$strSQL = "INSERT INTO mst_area (area_id, area_name, disp_rank) values(".$newSeq.", '".$area_name."',".$newRank.")";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(INSERT)");
			exit;
		}

}else if($mode == "edt"){
		//*** 修正 ***//
		$strSQL  = "UPDATE ";
		$strSQL .= " mst_area ";
		$strSQL .= "SET ";
		$strSQL .= " area_name = '".$area_name."' ";
		$strSQL .= "WHERE ";
		$strSQL .= " area_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}

}else if($mode == "up" || $mode == "down"){
		//*** 表示順変更 ***//
		if($mode == "up"){				//上へ
			$addNum = -1;
		}else if($mode == "down"){		//下へ
			$addNum = 1;
		}

		//変更対象の表示順取得
		$strSQL = "SELECT * FROM mst_area WHERE area_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(SELECT)");
			exit;
		}

		$objData = pg_fetch_object($objRec, 0);
		$newRank = $objData->disp_rank + $addNum;	//新しいdisp_rank
		$oldRank = $objData->disp_rank;				//いまのdisp_rank
		//変更対象の前or後のデータ取得
		$strSQL = "SELECT * FROM mst_area WHERE disp_rank = ".$newRank;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(SELECT)");
			exit;
		}
		$objData = pg_fetch_object($objRec, 0);
		$frdSeq = $objData->area_id;

		//変更対象の前or後のデータ更新
		$strSQL = "UPDATE mst_area SET disp_rank = ".$oldRank." WHERE area_id = ".$frdSeq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}

		//変更対象のデータ更新
		$strSQL = "UPDATE mst_area SET disp_rank = ".$newRank." WHERE area_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}

}else if($mode == "del"){
		//*** 更新  ***//
		$strSQL = "DELETE FROM mst_area WHERE area_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(DELETE)");
			exit;
		}

		$strSQL = "DELETE FROM rcv_tbl WHERE rcv_area_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(DELETE)");
			exit;
		}

		//*** 表示順再採番 ***
		$strSQL = "SELECT * FROM mst_area ORDER BY disp_rank";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
				echo("SQL実行に失敗しました(SELECT)");
				exit;
		}
		for ($intI = 0; $intI < pg_numrows($objRec); $intI++) {
				$objData = pg_fetch_object($objRec, $intI);
				$area_id[$intI]   = $objData->area_id;
		}
		$intRank = 1;
		for ($intI = 0; $intI < count($area_id); $intI++) {
				//変更対象の前or後のデータ更新
				$strSQL  = "UPDATE ";
				$strSQL .= " mst_area ";
				$strSQL .= "SET ";
				$strSQL .= " disp_rank = ".$intRank." ";
				$strSQL .= "WHERE ";
				$strSQL .= " area_id = ".$area_id[$intI];
				$objRec = pg_exec($strSQL);
				if($objRec==false){
					echo("SQL実行に失敗しました(UPDATE)");
					exit;
				}
				$intRank = $intRank + 1;
		}

}

header("Location:./ADM2020.php");
exit;
?>