ADM2022.php
4.13 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<?PHP
//*****************************************************************************
//* プログラム名:請求・入金管理
//* プログラムID:ADM2020.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"];
$area_name = $_POST["area_name"];
if($mode == "add"){
//*** 新規 ***//
//seq設定
$strSQL = "SELECT * FROM mst_area ORDER BY area_id 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->area_id + 1;
//disp_rank
$strSQL2 = "SELECT * FROM mst_area 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{
$newSeq = 1;
$newRank = 1;
}
//INSERT
$strSQL = "INSERT INTO mst_area (area_id, area_name, disp_rank) values(".$newSeq.", '".$area_name."',".$newRank.")";
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(INSERT)");
exit;
}
}else if($mode == "edt"){
//*** 修正 ***//
$strSQL = "UPDATE ";
$strSQL .= " mst_area ";
$strSQL .= "SET ";
$strSQL .= " area_name = '".$area_name."' ";
$strSQL .= "WHERE ";
$strSQL .= " area_id = ".$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 mst_area WHERE area_id = ".$seq;
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(SELECT)");
exit;
}
$objData = pg_fetch_object($objRec, 0);
$newRank = $objData->disp_rank + $addNum; //新しいdisp_rank
$oldRank = $objData->disp_rank; //いまのdisp_rank
//変更対象の前or後のデータ取得
$strSQL = "SELECT * FROM mst_area WHERE disp_rank = ".$newRank;
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(SELECT)");
exit;
}
$objData = pg_fetch_object($objRec, 0);
$frdSeq = $objData->area_id;
//変更対象の前or後のデータ更新
$strSQL = "UPDATE mst_area SET disp_rank = ".$oldRank." WHERE area_id = ".$frdSeq;
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(UPDATE)");
exit;
}
//変更対象のデータ更新
$strSQL = "UPDATE mst_area SET disp_rank = ".$newRank." WHERE area_id = ".$seq;
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(UPDATE)");
exit;
}
}else if($mode == "del"){
//*** 更新 ***//
$strSQL = "DELETE FROM mst_area WHERE area_id = ".$seq;
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(DELETE)");
exit;
}
$strSQL = "DELETE FROM rcv_tbl WHERE rcv_area_id = ".$seq;
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(DELETE)");
exit;
}
//*** 表示順再採番 ***
$strSQL = "SELECT * FROM mst_area ORDER BY disp_rank";
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(SELECT)");
exit;
}
for ($intI = 0; $intI < pg_numrows($objRec); $intI++) {
$objData = pg_fetch_object($objRec, $intI);
$area_id[$intI] = $objData->area_id;
}
$intRank = 1;
for ($intI = 0; $intI < count($area_id); $intI++) {
//変更対象の前or後のデータ更新
$strSQL = "UPDATE ";
$strSQL .= " mst_area ";
$strSQL .= "SET ";
$strSQL .= " disp_rank = ".$intRank." ";
$strSQL .= "WHERE ";
$strSQL .= " area_id = ".$area_id[$intI];
$objRec = pg_exec($strSQL);
if($objRec==false){
echo("SQL実行に失敗しました(UPDATE)");
exit;
}
$intRank = $intRank + 1;
}
}
header("Location:./ADM2020.php");
exit;
?>