質問編集履歴

8

追記

2016/06/20 01:46

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -346,4 +346,4 @@
346
346
 
347
347
  $arr = $_SESSION['join2']['programs1_'];
348
348
 
349
- というふうにしてせめてスマートな記述にしたいなとって質問してみたのですが今回は無理がありそうですかね...?
349
+ というふうにしてせめてスマートな記述にしたいなとって質問してみたのですが今回は無理がありそうですかね...?

7

追記

2016/06/20 01:46

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -319,3 +319,31 @@
319
319
  確認画面では確認だから「ある分」だけを表示させればいいんですが
320
320
 
321
321
  DB登録処理はあるない関わらず、「ない分」も用意しておかないといけませんね...
322
+
323
+
324
+
325
+ というのは、ユーザーがもう一個追加を押したら確認画面には追加分も表示されるでしょうが、
326
+
327
+ DB登録処理には
328
+
329
+ $_SEESION['join2']['programs1_7'],
330
+
331
+ $_SEESION['join2']['programs_year1_7']
332
+
333
+ を追加しなくてはなりませんから
334
+
335
+ そういう意味で「ない分」も記述しておく必要がありそうですね...
336
+
337
+
338
+
339
+
340
+
341
+ 素人思考だと、
342
+
343
+ 「ない分」を記述しておくのは非常に気持ち悪くて
344
+
345
+ それなら、preview.phpみたいに
346
+
347
+ $arr = $_SESSION['join2']['programs1_'];
348
+
349
+ というふうにしてせめてスマートな記述にしたいなと追って質問してみたのですが今回は無理がありそうですかね...?

6

追記

2016/06/20 01:36

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -224,7 +224,7 @@
224
224
 
225
225
 
226
226
 
227
- $stmt = $pdo->prepare("INSERT INTO user_skill() VALUES (?, ?, ?, ?, ?, ?)");
227
+ $stmt = $pdo->prepare("INSERT INTO user_skill() VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
228
228
 
229
229
  $stmt->execute([
230
230
 

5

追記

2016/06/20 01:20

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -311,3 +311,11 @@
311
311
  「ある分」だけを登録するようにしたい(そうすることで記述もスマートになる?)
312
312
 
313
313
  のですが、どうすればよろしいでしょうか?
314
+
315
+
316
+
317
+ すいません、なんかごっちゃになってきて
318
+
319
+ 確認画面では確認だから「ある分」だけを表示させればいいんですが
320
+
321
+ DB登録処理はあるない関わらず、「ない分」も用意しておかないといけませんね...

4

追記

2016/06/20 01:19

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -276,6 +276,26 @@
276
276
 
277
277
  echo $_SEESION['jion2']['programs_year1_1'];
278
278
 
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
279
299
  とやろうと思えばできます。
280
300
 
281
301
 

3

追記

2016/06/20 01:16

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -228,29 +228,29 @@
228
228
 
229
229
  $stmt->execute([
230
230
 
231
- $_SEESION['jion2']['programs1_1'],
231
+ $_SEESION['join2']['programs1_1'],
232
-
232
+
233
- $_SEESION['jion2']['programs_year1_1'],
233
+ $_SEESION['join2']['programs_year1_1'],
234
-
234
+
235
- $_SEESION['jion2']['programs1_2'],
235
+ $_SEESION['join2']['programs1_2'],
236
-
236
+
237
- $_SEESION['jion2']['programs_year1_2'],
237
+ $_SEESION['join2']['programs_year1_2'],
238
-
238
+
239
- $_SEESION['jion2']['programs1_3'],
239
+ $_SEESION['join2']['programs1_3'],
240
-
240
+
241
- $_SEESION['jion2']['programs_year1_3'],
241
+ $_SEESION['join2']['programs_year1_3'],
242
-
242
+
243
- $_SEESION['jion2']['programs1_4'],
243
+ $_SEESION['join2']['programs1_4'],
244
-
244
+
245
- $_SEESION['jion2']['programs_year1_4'],
245
+ $_SEESION['join2']['programs_year1_4'],
246
-
246
+
247
- $_SEESION['jion2']['programs1_5'],
247
+ $_SEESION['join2']['programs1_5'],
248
-
248
+
249
- $_SEESION['jion2']['programs_year1_5'],
249
+ $_SEESION['join2']['programs_year1_5'],
250
-
250
+
251
- $_SEESION['jion2']['programs1_6'],
251
+ $_SEESION['join2']['programs1_6'],
252
-
252
+
253
- $_SEESION['jion2']['programs_year1_6']
253
+ $_SEESION['join2']['programs_year1_6']
254
254
 
255
255
  ]);
256
256
 

2

追記

2016/06/20 01:15

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -132,7 +132,7 @@
132
132
 
133
133
 
134
134
 
135
-
135
+ preview.php
136
136
 
137
137
 
138
138
 

1

追記

2016/06/20 01:13

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -10,13 +10,13 @@
10
10
 
11
11
 
12
12
 
13
- 3つのセレクトボックス洗濯して
13
+ 追加2回押して
14
-
14
+
15
- プレビュボタンした
15
+ 計6フォ入力したとして、
16
-
16
+
17
- セッションにPOSTの内容保存して
17
+ 6フォーム分の値をセッションに保存して
18
-
18
+
19
- 確認ページへ行きます。
19
+ 次ページ(確認ページ)にいきます。
20
20
 
21
21
 
22
22
 
@@ -36,25 +36,93 @@
36
36
 
37
37
  ?>
38
38
 
39
+
40
+
41
+
42
+
43
+ <script type="text/javascript">
44
+
45
+ /*スキルエリアのセレクトボックスセットのクローン*/
46
+
47
+ function skill_selectAdd(){
48
+
49
+ var get = document.getElementById("skill_select");
50
+
51
+ var set = get.cloneNode(true);
52
+
53
+ var target = document.getElementById("skill_selectAdd");
54
+
55
+ var btn_delete = document.getElementById("skill_select_btnDel");
56
+
57
+ set.id= "test" + target.children.length;//idの重複を防ぐため、連番をつけておく
58
+
59
+ target.parentNode.insertBefore(set, target);
60
+
61
+ btn_delete.disabled = false;
62
+
63
+ }
64
+
65
+ /*スキルエリアのセレクトボックスセットの削除*/
66
+
67
+ function skill_selectDel(){
68
+
69
+ var targets = document.getElementsByClassName("skill_select");
70
+
71
+ var btn_delete = document.getElementById("skill_select_btnDel");
72
+
73
+ if (targets.length === 2) {
74
+
75
+ btn_delete.disabled = true;
76
+
77
+ }
78
+
79
+ targets[1].parentNode.removeChild(targets[targets.length - 1]);//最後の要素を削除
80
+
81
+ }
82
+
83
+ </script>
84
+
85
+
86
+
87
+
88
+
39
89
  <form action="" method="post">
40
90
 
91
+ <tr id="skill_select" class="skill_select">
92
+
93
+ <td>
94
+
41
- <select name="programs1_[]">
95
+ <select name="programs1_[]">
42
-
96
+
43
- <?php echo Programmerskill::getSkill(); ?>
97
+ <?php echo Programmerskill::getSkill(); ?>
44
-
98
+
45
- </select>
99
+ </select>
100
+
46
-
101
+ </td>
102
+
103
+ <td>
104
+
47
- <select name="programs1_[]">
105
+ <select name="programs_year1_[]">
48
-
106
+
49
- <?php echo Programmerskill::getSkill(); ?>
107
+ <?php echo Skillyear::getYear(); ?>
50
-
108
+
51
- </select>
109
+ </select>
52
-
53
- <select name="programs1_[]">
110
+
54
-
55
- <?php echo Programmerskill::getSkill(); ?>
56
-
57
- </select>
111
+ </td>
112
+
113
+ </tr>
114
+
115
+ <tr id="skill_selectAdd">
116
+
117
+ <td colspan="2">
118
+
119
+ <input type="button" value="追加" onClick="skill_selectAdd()">
120
+
121
+ <input type="button" value="削除" onClick="skill_selectDel()" id="skill_select_btnDel" disabled="true">
122
+
123
+ </td>
124
+
125
+ </tr>
58
126
 
59
127
  <input type="submit" name="submit" value="プレビュー">
60
128
 
@@ -64,11 +132,11 @@
64
132
 
65
133
 
66
134
 
67
- preview.php
135
+
68
-
69
-
70
-
136
+
137
+
138
+
71
- セレクトボックスで選択した3件の内容が表示されます。
139
+ セレクトボックスで選択した3セット分(6)の内容が表示されます。
72
140
 
73
141
 
74
142
 
@@ -102,6 +170,22 @@
102
170
 
103
171
  </td>
104
172
 
173
+ <td>
174
+
175
+ <?php
176
+
177
+ $arr = $_SESSION['join2']['programs_year1'];
178
+
179
+ for($i=0;$i < count($arr);$i++ ) {
180
+
181
+ echo h($arr[$i]).'<br />';
182
+
183
+ }
184
+
185
+ ?>
186
+
187
+ </td>
188
+
105
189
  </tr>
106
190
 
107
191
  <input type="submit" name="submit" value="確定">
@@ -154,7 +238,19 @@
154
238
 
155
239
  $_SEESION['jion2']['programs1_3'],
156
240
 
157
- $_SEESION['jion2']['programs_year1_3']
241
+ $_SEESION['jion2']['programs_year1_3'],
242
+
243
+ $_SEESION['jion2']['programs1_4'],
244
+
245
+ $_SEESION['jion2']['programs_year1_4'],
246
+
247
+ $_SEESION['jion2']['programs1_5'],
248
+
249
+ $_SEESION['jion2']['programs_year1_5'],
250
+
251
+ $_SEESION['jion2']['programs1_6'],
252
+
253
+ $_SEESION['jion2']['programs_year1_6']
158
254
 
159
255
  ]);
160
256
 
@@ -168,4 +264,30 @@
168
264
 
169
265
  execute内に記述してますが、なんか違う気がします。
170
266
 
267
+
268
+
269
+ preview.phpでは
270
+
271
+ $arr = $_SESSION['join2']['programs1_'];
272
+
273
+ としてループさせているから記述量がすくないのですが、
274
+
275
+ echo $_SEESION['jion2']['programs1_1'];
276
+
277
+ echo $_SEESION['jion2']['programs_year1_1'];
278
+
279
+ とやろうと思えばできます。
280
+
281
+
282
+
283
+ でも、追加がどれくらい押されるか分からないので
284
+
285
+ 「ある分」だけを表示させています。
286
+
287
+
288
+
289
+ これはthanks.phpにも同じことがいえて、
290
+
291
+ 「ある分」だけを登録するようにしたい(そうすることで記述もスマートになる?)
292
+
171
- どう記述したらよろしいでしょうか?
293
+ のですが、どうすればよろしいでしょうか?