CON012_2.php 3.51 KB
<?php 
//*****************************************************************************
//* 
//* プログラム名:資料フォルダDB設定処理(表示順位・削除)
//* プログラムID:CON012_2
//* 機能        :資料フォルダ情報をDB設定する
//* 作成者      :石田 英治
//* 
//*****************************************************************************

header("Content-type: text/html; charset=EUC-JP");
include("include/session_start.inc");
include("include/SessionChk.inc");
include("include/dbcon.inc");

	$strSiryoArray=split("/",$siryo);
	$strSiryoCode=$strSiryoArray[0];
	$strSiryoName=$strSiryoArray[1];

	//表示順位の最大値、最小値を取得
	$strSql = "SELECT MAX(disp_rank) as maxValue,MIN(disp_rank) as minValue FROM mst_siryo";
	$rsResult = pg_exec($pg_con,$strSql);
	$intDispRankMaxValue = pg_result($rsResult,0,"maxValue");
	$intDispRankMinValue = pg_result($rsResult,0,"minValue");
	switch ($up_down_flg) {
	case "up":
		//選択された資料フォルダのレコードを抽出
		$strSql = "SELECT ctg_no,ctg_name,disp_rank FROM mst_siryo WHERE ctg_no=$strSiryoCode";
		$rsResult = pg_exec($pg_con,$strSql);
		//最小値の場合処理なし
		if (pg_result($rsResult,0,"disp_rank")==$intDispRankMinValue) {
			break;
		}
		//資料フォルダマスタの全レコード抽出
		$strSql = "SELECT ctg_no,ctg_name,disp_rank FROM mst_siryo ORDER BY disp_rank";
		$rsResult2 = pg_exec($pg_con,$strSql);
		$intRsCnt = pg_numrows($rsResult2);
		for ($i = 1 ; $i <= $intRsCnt-1 ; $i++) {
			if (pg_result($rsResult,0,"disp_rank") == pg_result($rsResult2,$i,"disp_rank")) {
				$intDispWork = pg_result($rsResult2,$i-1,"disp_rank");	//1つ前レコードの表示順位
				$intSiryoWork = pg_result($rsResult2,$i,"ctg_no");
				$strSqlUp = "UPDATE mst_siryo SET ";
				$strSqlUp .= "disp_rank= $intDispWork ";
				$strSqlUp .= "WHERE ctg_no = $intSiryoWork";

				$intDispWork = pg_result($rsResult2,$i,"disp_rank");
				$intSiryoWork = pg_result($rsResult2,$i-1,"ctg_no");
				$strSqlDown = "UPDATE mst_siryo SET ";
				$strSqlDown .= "disp_rank = $intDispWork ";
				$strSqlDown .= "WHERE ctg_no = $intSiryoWork";
				$rsResult = pg_exec($pg_con,$strSqlUp);
				$rsResult = pg_exec($pg_con,$strSqlDown);
				break;
			}
		}
		break;
	case "down":
		//選択された部門のレコードを抽出
		$strSql = "SELECT ctg_no,ctg_name,disp_rank FROM mst_siryo WHERE ctg_no=$strSiryoCode";
		$rsResult = pg_exec($pg_con,$strSql);
		//最大値の場合処理なし
		if (pg_result($rsResult,0,"disp_rank")==$intDispRankMaxValue) {
			break;
		}
		//部門マスタの全レコード抽出
		$strSql = "SELECT ctg_no,ctg_name,disp_rank FROM mst_siryo ORDER BY disp_rank";
		$rsResult2 = pg_exec($pg_con,$strSql);
		$intRsCnt = pg_numrows($rsResult2);
		for ($i = 0 ; $i <= $intRsCnt-2 ; $i++) {
			if (pg_result($rsResult,0,"disp_rank") == pg_result($rsResult2,$i,"disp_rank")) {
				$intDispWork = pg_result($rsResult2,$i+1,"disp_rank");	//1つ後レコードの表示順位
				$intSiryoWork = pg_result($rsResult2,$i,"ctg_no");
				$strSqlUp = "UPDATE mst_siryo SET ";
				$strSqlUp .= "disp_rank= $intDispWork ";
				$strSqlUp .= "WHERE ctg_no = $intSiryoWork";

				$intDispWork = pg_result($rsResult2,$i,"disp_rank");
				$intSiryoWork = pg_result($rsResult2,$i+1,"ctg_no");
				$strSqlDown = "UPDATE mst_siryo SET ";
				$strSqlDown .= "disp_rank = $intDispWork ";
				$strSqlDown .= "WHERE ctg_no = $intSiryoWork";
				$rsResult = pg_exec($pg_con,$strSqlUp);
				$rsResult = pg_exec($pg_con,$strSqlDown);
				break;
			}
		}
		break;
	case "dell":
		$strSql = "DELETE FROM mst_siryo WHERE ctg_no=$strSiryoCode";
		$rsResult = pg_exec($pg_con,$strSql);
		break;
	}

header("Location: CON012.php");

?>