SIM0922.php
3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?PHP
//*****************************************************************************
//* プログラム名:大項目更新処理
//* プログラムID:SIM0922.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"];
$kmode = $_GET["kmode"];
$kName = $_POST["kName"];
$kParent = $_POST["kParent"];
if($mode == "add"){
//新規
//seq設定
$strSQL = "select * from koumoku_tbl order by koumoku_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->koumoku_seq + 1;
}else{
$newSeq = 1;
}
//disp_rank
$strSQL2 = "select * from koumoku_tbl where koumoku_mode = 1 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{
$newRank = 1;
}
//INSERT
$strSQL = "insert into koumoku_tbl (koumoku_seq, koumoku_mode, koumoku_parent, koumoku_name, disp_rank) values(".$newSeq.", ".$kmode.", ".$kParent.", '".$kName."', ".$newRank.")";
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(INSERT)");
exit;
}
}else if($mode == "edt"){
//修正
$strSQL = "update koumoku_tbl set koumoku_name = '".$kName."', koumoku_parent = ".$kParent." where koumoku_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;
}
//変更対象の表示順取得
//Parent取得
$strSQL = "SELECT * FROM koumoku_tbl WHERE koumoku_seq = ".$seq;
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(SELECT)");
exit;
}
if(pg_numrows($objRec) > 0){
$objRec = pg_fetch_object($objRec, 0);
$parentSeq = $objRec->koumoku_parent ;
}
$strSQL = "SELECT * FROM koumoku_tbl WHERE koumoku_mode = 1 AND koumoku_parent = ".$parentSeq." 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++) {
//親Seqが同じレコードを配列に格納
$objDspRec[$i] = pg_fetch_object($objRec, $i);
$dspSeq[$i] = $objDspRec[$i]->koumoku_seq ;
$dspRnk[$i] = $objDspRec[$i]->disp_rank ;
//デバッグ
//echo($i." : ".$dspRnk[$i]." : ".$dspSeq[$i]." : ".$seq."<br>");
if ($dspSeq[$i] == $seq) {
//自分が何番目かを取得
$ownCnt = $i ;
}
}
}
//変更対象の前or後のデータ更新
$strSQL = "UPDATE koumoku_tbl SET disp_rank = ".$dspRnk[$ownCnt]." WHERE koumoku_seq = ".$dspSeq[$ownCnt+$addNum]." AND koumoku_mode = 1" ;
//echo($strSQL);
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(UPDATE)");
exit;
}
//変更対象のデータ更新
$strSQL = "UPDATE koumoku_tbl SET disp_rank = ".$dspRnk[$ownCnt+$addNum]." WHERE koumoku_seq = ".$dspSeq[$ownCnt]." AND koumoku_mode = 1" ;
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(UPDATE)");
exit;
}
}
header("Location:./SIM0920.php");
exit;
?>