質問編集履歴
8
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -172,4 +172,4 @@
|
|
172
172
|
「ない分」を記述しておくのは非常に気持ち悪くて
|
173
173
|
それなら、preview.phpみたいに
|
174
174
|
$arr = $_SESSION['join2']['programs1_'];
|
175
|
-
というふうにしてせめてスマートな記述にしたいなと
|
175
|
+
というふうにしてせめてスマートな記述にしたいなと思って質問してみたのですが今回は無理がありそうですかね...?
|
7
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -158,4 +158,18 @@
|
|
158
158
|
|
159
159
|
すいません、なんかごっちゃになってきて
|
160
160
|
確認画面では確認だから「ある分」だけを表示させればいいんですが
|
161
|
-
DB登録処理はあるない関わらず、「ない分」も用意しておかないといけませんね...
|
161
|
+
DB登録処理はあるない関わらず、「ない分」も用意しておかないといけませんね...
|
162
|
+
|
163
|
+
というのは、ユーザーがもう一個追加を押したら確認画面には追加分も表示されるでしょうが、
|
164
|
+
DB登録処理には
|
165
|
+
$_SEESION['join2']['programs1_7'],
|
166
|
+
$_SEESION['join2']['programs_year1_7']
|
167
|
+
を追加しなくてはなりませんから
|
168
|
+
そういう意味で「ない分」も記述しておく必要がありそうですね...
|
169
|
+
|
170
|
+
|
171
|
+
素人思考だと、
|
172
|
+
「ない分」を記述しておくのは非常に気持ち悪くて
|
173
|
+
それなら、preview.phpみたいに
|
174
|
+
$arr = $_SESSION['join2']['programs1_'];
|
175
|
+
というふうにしてせめてスマートな記述にしたいなと追って質問してみたのですが今回は無理がありそうですかね...?
|
6
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -111,7 +111,7 @@
|
|
111
111
|
$option = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
|
112
112
|
$dbh = new PDO($dsn, $user, $password, $option);
|
113
113
|
|
114
|
-
$stmt = $pdo->prepare("INSERT INTO user_skill() VALUES (?, ?, ?, ?, ?, ?)");
|
114
|
+
$stmt = $pdo->prepare("INSERT INTO user_skill() VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
115
115
|
$stmt->execute([
|
116
116
|
$_SEESION['join2']['programs1_1'],
|
117
117
|
$_SEESION['join2']['programs_year1_1'],
|
5
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -154,4 +154,8 @@
|
|
154
154
|
|
155
155
|
これはthanks.phpにも同じことがいえて、
|
156
156
|
「ある分」だけを登録するようにしたい(そうすることで記述もスマートになる?)
|
157
|
-
のですが、どうすればよろしいでしょうか?
|
157
|
+
のですが、どうすればよろしいでしょうか?
|
158
|
+
|
159
|
+
すいません、なんかごっちゃになってきて
|
160
|
+
確認画面では確認だから「ある分」だけを表示させればいいんですが
|
161
|
+
DB登録処理はあるない関わらず、「ない分」も用意しておかないといけませんね...
|
4
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -137,6 +137,16 @@
|
|
137
137
|
としてループさせているから記述量がすくないのですが、
|
138
138
|
echo $_SEESION['jion2']['programs1_1'];
|
139
139
|
echo $_SEESION['jion2']['programs_year1_1'];
|
140
|
+
・
|
141
|
+
・
|
142
|
+
・
|
143
|
+
・
|
144
|
+
・
|
145
|
+
・
|
146
|
+
・
|
147
|
+
・
|
148
|
+
・
|
149
|
+
・
|
140
150
|
とやろうと思えばできます。
|
141
151
|
|
142
152
|
でも、追加がどれくらい押されるか分からないので
|
3
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -113,18 +113,18 @@
|
|
113
113
|
|
114
114
|
$stmt = $pdo->prepare("INSERT INTO user_skill() VALUES (?, ?, ?, ?, ?, ?)");
|
115
115
|
$stmt->execute([
|
116
|
-
$_SEESION['
|
116
|
+
$_SEESION['join2']['programs1_1'],
|
117
|
-
$_SEESION['
|
117
|
+
$_SEESION['join2']['programs_year1_1'],
|
118
|
-
$_SEESION['
|
118
|
+
$_SEESION['join2']['programs1_2'],
|
119
|
-
$_SEESION['
|
119
|
+
$_SEESION['join2']['programs_year1_2'],
|
120
|
-
$_SEESION['
|
120
|
+
$_SEESION['join2']['programs1_3'],
|
121
|
-
$_SEESION['
|
121
|
+
$_SEESION['join2']['programs_year1_3'],
|
122
|
-
$_SEESION['
|
122
|
+
$_SEESION['join2']['programs1_4'],
|
123
|
-
$_SEESION['
|
123
|
+
$_SEESION['join2']['programs_year1_4'],
|
124
|
-
$_SEESION['
|
124
|
+
$_SEESION['join2']['programs1_5'],
|
125
|
-
$_SEESION['
|
125
|
+
$_SEESION['join2']['programs_year1_5'],
|
126
|
-
$_SEESION['
|
126
|
+
$_SEESION['join2']['programs1_6'],
|
127
|
-
$_SEESION['
|
127
|
+
$_SEESION['join2']['programs_year1_6']
|
128
128
|
]);
|
129
129
|
|
130
130
|
session_destroy();
|
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -65,7 +65,7 @@
|
|
65
65
|
</form>
|
66
66
|
```
|
67
67
|
|
68
|
-
↓
|
68
|
+
↓preview.php
|
69
69
|
|
70
70
|
セレクトボックスで選択した3セット分(6件)の内容が表示されます。
|
71
71
|
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,10 +4,10 @@
|
|
4
4
|
|
5
5
|
↓input.php
|
6
6
|
|
7
|
-
|
7
|
+
追加を2回押して
|
8
|
-
|
8
|
+
計6フォームを入力したとして、
|
9
|
-
セッションに
|
9
|
+
6フォーム分の値をセッションに保存して
|
10
|
-
確認ページ
|
10
|
+
次ページ(確認ページ)にいきます。
|
11
11
|
|
12
12
|
```ここに言語を入力
|
13
13
|
<?php
|
@@ -17,23 +17,57 @@
|
|
17
17
|
header('Location: preview.php');
|
18
18
|
}
|
19
19
|
?>
|
20
|
+
|
21
|
+
|
22
|
+
<script type="text/javascript">
|
23
|
+
/*スキルエリアのセレクトボックスセットのクローン*/
|
24
|
+
function skill_selectAdd(){
|
25
|
+
var get = document.getElementById("skill_select");
|
26
|
+
var set = get.cloneNode(true);
|
27
|
+
var target = document.getElementById("skill_selectAdd");
|
28
|
+
var btn_delete = document.getElementById("skill_select_btnDel");
|
29
|
+
set.id= "test" + target.children.length;//idの重複を防ぐため、連番をつけておく
|
30
|
+
target.parentNode.insertBefore(set, target);
|
31
|
+
btn_delete.disabled = false;
|
32
|
+
}
|
33
|
+
/*スキルエリアのセレクトボックスセットの削除*/
|
34
|
+
function skill_selectDel(){
|
35
|
+
var targets = document.getElementsByClassName("skill_select");
|
36
|
+
var btn_delete = document.getElementById("skill_select_btnDel");
|
37
|
+
if (targets.length === 2) {
|
38
|
+
btn_delete.disabled = true;
|
39
|
+
}
|
40
|
+
targets[1].parentNode.removeChild(targets[targets.length - 1]);//最後の要素を削除
|
41
|
+
}
|
42
|
+
</script>
|
43
|
+
|
44
|
+
|
20
45
|
<form action="" method="post">
|
46
|
+
<tr id="skill_select" class="skill_select">
|
47
|
+
<td>
|
21
|
-
|
48
|
+
<select name="programs1_[]">
|
22
|
-
|
49
|
+
<?php echo Programmerskill::getSkill(); ?>
|
23
|
-
|
50
|
+
</select>
|
51
|
+
</td>
|
52
|
+
<td>
|
24
|
-
|
53
|
+
<select name="programs_year1_[]">
|
25
|
-
|
54
|
+
<?php echo Skillyear::getYear(); ?>
|
26
|
-
|
55
|
+
</select>
|
27
|
-
<select name="programs1_[]">
|
28
|
-
<?php echo Programmerskill::getSkill(); ?>
|
29
|
-
|
56
|
+
</td>
|
57
|
+
</tr>
|
58
|
+
<tr id="skill_selectAdd">
|
59
|
+
<td colspan="2">
|
60
|
+
<input type="button" value="追加" onClick="skill_selectAdd()">
|
61
|
+
<input type="button" value="削除" onClick="skill_selectDel()" id="skill_select_btnDel" disabled="true">
|
62
|
+
</td>
|
63
|
+
</tr>
|
30
64
|
<input type="submit" name="submit" value="プレビュー">
|
31
65
|
</form>
|
32
66
|
```
|
33
67
|
|
34
|
-
↓
|
68
|
+
↓c
|
35
69
|
|
36
|
-
セレクトボックスで選択した3
|
70
|
+
セレクトボックスで選択した3セット分(6件)の内容が表示されます。
|
37
71
|
|
38
72
|
```ここに言語を入力
|
39
73
|
<?php session_start(); ?>
|
@@ -50,6 +84,14 @@
|
|
50
84
|
}
|
51
85
|
?>
|
52
86
|
</td>
|
87
|
+
<td>
|
88
|
+
<?php
|
89
|
+
$arr = $_SESSION['join2']['programs_year1'];
|
90
|
+
for($i=0;$i < count($arr);$i++ ) {
|
91
|
+
echo h($arr[$i]).'<br />';
|
92
|
+
}
|
93
|
+
?>
|
94
|
+
</td>
|
53
95
|
</tr>
|
54
96
|
<input type="submit" name="submit" value="確定">
|
55
97
|
</form>
|
@@ -76,11 +118,30 @@
|
|
76
118
|
$_SEESION['jion2']['programs1_2'],
|
77
119
|
$_SEESION['jion2']['programs_year1_2'],
|
78
120
|
$_SEESION['jion2']['programs1_3'],
|
79
|
-
$_SEESION['jion2']['programs_year1_3']
|
121
|
+
$_SEESION['jion2']['programs_year1_3'],
|
122
|
+
$_SEESION['jion2']['programs1_4'],
|
123
|
+
$_SEESION['jion2']['programs_year1_4'],
|
124
|
+
$_SEESION['jion2']['programs1_5'],
|
125
|
+
$_SEESION['jion2']['programs_year1_5'],
|
126
|
+
$_SEESION['jion2']['programs1_6'],
|
127
|
+
$_SEESION['jion2']['programs_year1_6']
|
80
128
|
]);
|
81
129
|
|
82
130
|
session_destroy();
|
83
131
|
?>
|
84
132
|
```
|
85
133
|
execute内に記述してますが、なんか違う気がします。
|
134
|
+
|
135
|
+
preview.phpでは
|
136
|
+
$arr = $_SESSION['join2']['programs1_'];
|
137
|
+
としてループさせているから記述量がすくないのですが、
|
138
|
+
echo $_SEESION['jion2']['programs1_1'];
|
139
|
+
echo $_SEESION['jion2']['programs_year1_1'];
|
140
|
+
とやろうと思えばできます。
|
141
|
+
|
142
|
+
でも、追加がどれくらい押されるか分からないので
|
143
|
+
「ある分」だけを表示させています。
|
144
|
+
|
145
|
+
これはthanks.phpにも同じことがいえて、
|
146
|
+
「ある分」だけを登録するようにしたい(そうすることで記述もスマートになる?)
|
86
|
-
どう
|
147
|
+
のですが、どうすればよろしいでしょうか?
|