CON008_2.php 3.4 KB
<?php 
//*****************************************************************************
//* 
//* プログラム名:個人情報DB設定処理(表示順位)
//* プログラムID:CON008_2
//* 機能        :個人情報をDB設定する
//* 作成者      :
//* 
//*****************************************************************************
header("Content-type: text/html; charset=EUC-JP");

//***************************
//* インクルードファイル
//***************************
include("./include/session_start.inc");			//セッション開始
include("./include/SessionChk.inc");				//セッションチェック
include("./include/dbcon.inc");							//DB接続

//表示順位の最大値、最小値を取得
$strSql = "SELECT MAX(disp_rank) as maxValue,MIN(disp_rank) as minValue FROM syain_tbl ";
$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 syain_cd,disp_rank FROM syain_tbl WHERE syain_cd='$syain_cd' ";
		$rsResult = pg_exec($pg_con,$strSql);
		//最小値の場合処理なし
		if (pg_result($rsResult,0,"disp_rank")==$intDispRankMinValue) {
			break;
		}
		//社員マスタの全レコード抽出
		$strSql = "SELECT syain_cd,disp_rank FROM syain_tbl Where del_flg=true 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つ前レコードの表示順位
				$intSyainWork = pg_result($rsResult2,$i,"syain_cd");
				$strSqlUp = "UPDATE syain_tbl SET ";
				$strSqlUp .= "disp_rank= $intDispWork ";
				$strSqlUp .= "WHERE syain_cd = '$intSyainWork'";

				$intDispWork = pg_result($rsResult2,$i,"disp_rank");
				$intSyainWork = pg_result($rsResult2,$i-1,"syain_cd");
				$strSqlDown = "UPDATE syain_tbl SET ";
				$strSqlDown .= "disp_rank = $intDispWork ";
				$strSqlDown .= "WHERE syain_cd = '$intSyainWork'";
				$rsResult = pg_exec($pg_con,$strSqlUp);
				$rsResult = pg_exec($pg_con,$strSqlDown);
				break;
			}
		}
			break;

case "down":
	//選択された施設のレコードを抽出
	$strSql = "SELECT syain_cd,disp_rank FROM syain_tbl WHERE syain_cd='$syain_cd'";
	$rsResult = pg_exec($pg_con,$strSql);
	//最大値の場合処理なし
	if (pg_result($rsResult,0,"disp_rank")==$intDispRankMaxValue) {
		break;
	}
	//社員マスタの全レコード抽出
	$strSql = "SELECT syain_cd,disp_rank FROM syain_tbl Where del_flg=true 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つ後レコードの表示順位
			$intSyainWork = pg_result($rsResult2,$i,"syain_cd");
			$strSqlUp = "UPDATE syain_tbl SET ";
			$strSqlUp .= "disp_rank= $intDispWork ";
			$strSqlUp .= "WHERE syain_cd = '$intSyainWork'";

			$intDispWork = pg_result($rsResult2,$i,"disp_rank");
			$intSyainWork = pg_result($rsResult2,$i+1,"syain_cd");
			$strSqlDown = "UPDATE syain_tbl SET ";
			$strSqlDown .= "disp_rank = $intDispWork ";
			$strSqlDown .= "WHERE syain_cd = '$intSyainWork'";
			$rsResult = pg_exec($pg_con,$strSqlUp);
			$rsResult = pg_exec($pg_con,$strSqlDown);
			break;
		}
	}
	break;
}

header("Location: CON008.php");
?>