MET003_3.php 3.6 KB
<?php 
//*****************************************************************************
//* 
//* プログラム名:業務指示報告
//* プログラムID:MET003_3.php
//* 機能        :ディスプランク変更
//* 作成者      :
//* 
//*****************************************************************************
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 mst_mettitle WHERE  category_no =".(int)$_POST["category_no"];
$rsResult = pg_exec($pg_con,$strSql);
$intDispRankMaxValue = pg_result($rsResult,0,"maxValue");
$intDispRankMinValue = pg_result($rsResult,0,"minValue");

switch ($_POST["disp_flg"]) {
	case "up":
		//選択されたカテゴリのレコードを抽出
		$strSql = "SELECT disp_rank FROM mst_mettitle WHERE title_no=".(int)$_POST["title_no"];
		$rsResult = pg_exec($pg_con,$strSql);
		//最小値の場合処理なし
		if (pg_result($rsResult,0,"disp_rank")==$intDispRankMinValue) {
			break;
		}
		//電子会議室カテゴリマスタの全レコード抽出
		$strSql = "SELECT category_no,title_no,disp_rank ".
							"FROM mst_mettitle WHERE category_no = ".(int)$_POST["category_no"]." 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")) {
				//1つ前レコードの表示順位
				$intDispWork = pg_result($rsResult2,$i-1,"disp_rank");	
				$inttitle_noWork = pg_result($rsResult2,$i,"title_no");
				$strSqlUp = "UPDATE mst_mettitle SET disp_rank= ".$intDispWork ." WHERE title_no = ".$inttitle_noWork;
				$rsResult = pg_exec($pg_con,$strSqlUp);
			//選択レコードの表示順位
				$intDispWork = pg_result($rsResult2,$i,"disp_rank");
				$inttitle_noWork = pg_result($rsResult2,$i-1,"title_no");
				$strSqlDown = "UPDATE mst_mettitle SET disp_rank = ".$intDispWork. " WHERE title_no = ".$inttitle_noWork;
				$rsResult = pg_exec($pg_con,$strSqlDown);

				break;
			}
		}
		break;
case "down":
	//選択されたカテゴリのレコードを抽出
	$strSql = "SELECT disp_rank FROM mst_mettitle WHERE title_no=".(int)$_POST["title_no"];
	$rsResult = pg_exec($pg_con,$strSql);
	//最大値の場合処理なし
	if (pg_result($rsResult,0,"disp_rank")==$intDispRankMaxValue) {
		break;
	}
	//電子会議室カテゴリマスタの全レコード抽出
	$strSql = "SELECT category_no,title_no,disp_rank ".
						"FROM mst_mettitle WHERE category_no = ".(int)$_POST["category_no"]." 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")) {
			//1つ後レコードの表示順位
			$intDispWork = pg_result($rsResult2,$i+1,"disp_rank");	
			$inttitle_noWork = pg_result($rsResult2,$i,"title_no");
			$strSqlUp = "UPDATE mst_mettitle SET disp_rank= ".$intDispWork ." WHERE title_no = ".$inttitle_noWork;
			$rsResult = pg_exec($pg_con,$strSqlUp);
			//選択レコードの表示順位
			$intDispWork = pg_result($rsResult2,$i,"disp_rank");
			$inttitle_noWork = pg_result($rsResult2,$i+1,"title_no");
			$strSqlDown = "UPDATE mst_mettitle SET disp_rank = ".$intDispWork." WHERE title_no = ".$inttitle_noWork;
			$rsResult = pg_exec($pg_con,$strSqlDown);

			break;
		}
	}
	break;
}

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