回答編集履歴

1

html及びphpの更新

2022/01/04 11:16

投稿

srsnsts
srsnsts

スコア508

test CHANGED
@@ -24,6 +24,10 @@
24
24
 
25
25
 
26
26
 
27
+ コメントを受けて処理区分を設けました。
28
+
29
+
30
+
27
31
  ```html
28
32
 
29
33
  <html>
@@ -46,6 +50,30 @@
46
50
 
47
51
  let i;
48
52
 
53
+
54
+
55
+ //
56
+
57
+ // syori_kbn に関する内容を追加
58
+
59
+ //
60
+
61
+ // 'syori_kbn' というnameの要素のリストを取得する
62
+
63
+ let syori_kbn_elems = document.getElementsByName('syori_kbn');
64
+
65
+ let syori_kbn = [];
66
+
67
+ for(i=0;i<syori_kbn_elems.length;i++){
68
+
69
+ // 配列 syori_kbn に値を詰める
70
+
71
+ syori_kbn[i] = syori_kbn_elems[i].value;
72
+
73
+ }
74
+
75
+
76
+
49
77
  // 'shikakumei' というnameの要素のリストを取得する
50
78
 
51
79
  let shikakumei_elems = document.getElementsByName('shikakumei');
@@ -110,6 +138,8 @@
110
138
 
111
139
  data: {
112
140
 
141
+ "syori_kbn" : syori_kbn,
142
+
113
143
  "sikakumei" : shikakumei,
114
144
 
115
145
  "category" : category,
@@ -154,6 +184,8 @@
154
184
 
155
185
  <tr>
156
186
 
187
+ <th>処理区分</th>
188
+
157
189
  <th>資格名</th>
158
190
 
159
191
  <th>カテゴリ</th>
@@ -164,6 +196,22 @@
164
196
 
165
197
  <tr>
166
198
 
199
+ <td>
200
+
201
+ <select name="syori_kbn">
202
+
203
+ <option value="N">変更なし</option>
204
+
205
+ <option value="U">更新</option>
206
+
207
+ <option value="D">削除</option>
208
+
209
+ <option value="I">追加</option>
210
+
211
+ </select>
212
+
213
+ </td>
214
+
167
215
  <td><input type='text' name='shikakumei' /></td>
168
216
 
169
217
  <td><input type='text' name='category' /></td>
@@ -174,6 +222,22 @@
174
222
 
175
223
  <tr>
176
224
 
225
+ <td>
226
+
227
+ <select name="syori_kbn">
228
+
229
+ <option value="N">変更なし</option>
230
+
231
+ <option value="U">更新</option>
232
+
233
+ <option value="D">削除</option>
234
+
235
+ <option value="I">追加</option>
236
+
237
+ </select>
238
+
239
+ </td>
240
+
177
241
  <td><input type='text' name='shikakumei' /></td>
178
242
 
179
243
  <td><input type='text' name='category' /></td>
@@ -200,6 +264,10 @@
200
264
 
201
265
 
202
266
 
267
+ コメントを受けて処理区分を追加しました。
268
+
269
+
270
+
203
271
  ```PHP
204
272
 
205
273
  <?php
@@ -220,6 +288,12 @@
220
288
 
221
289
  //
222
290
 
291
+
292
+
293
+ // syori_kbn に関する内容を追加
294
+
295
+ $syori_kbn = filter_input(INPUT_POST,'syori_kbn',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
296
+
223
297
  $shikakumei = filter_input(INPUT_POST,'shikakumei',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
224
298
 
225
299
  $category = filter_input(INPUT_POST,'category',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
@@ -232,15 +306,53 @@
232
306
 
233
307
  // レコード数だけSQL文を発行する
234
308
 
309
+ // $syori_kbn[$i]が
310
+
311
+ // "N" なら何も処理しない
312
+
313
+ // "U" ならUPDATEする
314
+
315
+ // "D" ならDELETEする
316
+
317
+ // "I" ならINSERTする
318
+
235
- //
319
+ //
236
-
320
+
237
- for($i=0;$i<count($shikakumei);$i++){
321
+ for($i=0;$i<count($syori_kbn);$i++){
322
+
238
-
323
+ if($syori_kbn[$i] === 'N'){
324
+
325
+
326
+
239
- //
327
+ // 何もしない
328
+
240
-
329
+ continue;
330
+
331
+
332
+
333
+ }elseif($syori_kbn[$i] === 'U'){
334
+
335
+
336
+
337
+ // UPDATEを実行
338
+
339
+
340
+
341
+ }elseif($syori_kbn[$i] === 'D'){
342
+
343
+
344
+
345
+ // DELETEを実行
346
+
347
+
348
+
349
+ }elseif($syori_kbn[$i] === 'I'){
350
+
351
+
352
+
241
- // INSERTを実行する
353
+ // INSERTを実行
242
-
354
+
243
- //
355
+ }
244
356
 
245
357
  }
246
358