SIM0912.php 3 KB
<?PHP 
//*****************************************************************************
//* プログラム名:分類更新処理
//* プログラムID:SIM0912.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"];
$bName = $_POST["bName"];
$bStart = $_POST["bStart"];
$bEnd = $_POST["bEnd"];

if($mode == "add"){
	//新規
	//seq設定
	$strSQL = "select * from bunrui_tbl order by bunrui_seq 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->bunrui_seq + 1;

		//disp_rank
		$strSQL2 = "select * from bunrui_tbl 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 = pg_numrows($objRec2) + 1;
		}

	}else{
		$newSeq = 1;
		$newRank = 1;
	}
	//INSERT
	$strSQL = "insert into bunrui_tbl (bunrui_seq, bunrui_name, bunrui_start, bunrui_end, disp_rank) values(".$newSeq.", '".$bName."', ".$bStart.", ".$bEnd.", ".$newRank.")";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(INSERT)");
		exit;
	}

}else if($mode == "edt"){
	//修正
	$strSQL = "update bunrui_tbl set bunrui_name = '".$bName."', bunrui_start = ".$bStart.", bunrui_end = ".$bEnd." where bunrui_seq = ".$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 bunrui_tbl ORDER BY disp_rank";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	//期間を配列に格納
	if(pg_numrows($objRec) > 0){
		for ($i = 0; $i < pg_numrows($objRec); $i++) {
			$objData[$i] = pg_fetch_object($objRec, $i);
			$dspSeq[$i] = $objData[$i]->bunrui_seq;
			$dspRnk[$i] = $objData[$i]->disp_rank;
			if ($dspSeq[$i] == $seq) {
				//自分が何番目かを取得
				$ownCnt = $i ;
			}
		}
	}

	//変更対象の前or後のデータ更新
	$strSQL = "update bunrui_tbl set disp_rank = ".$dspRnk[$ownCnt]." where bunrui_seq = ".$dspSeq[$ownCnt+$addNum];
//デバッグ
//echo($strSQL."  ".$dspSeq[$ownCnt]."  ".$dspSeq[$ownCnt+$addNum]."  ".$dspRnk[$ownCnt]."  ".$dspRnk[$ownCnt+$addNum]);
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(UPDATE)");
		exit;
	}
	//変更対象のデータ更新
	$strSQL = "update bunrui_tbl set disp_rank = ".$dspRnk[$ownCnt+$addNum]." where bunrui_seq = ".$dspSeq[$ownCnt];
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(UPDATE)");
		exit;
	}

}

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