質問編集履歴

2

var_dumpしてみて

2016/02/19 09:59

投稿

Z-TALBO
Z-TALBO

スコア525

test CHANGED
File without changes
test CHANGED
@@ -163,3 +163,43 @@
163
163
  whileを閉じてしまったから?でしょうか?
164
164
 
165
165
  質問時のコードであれば、値などは表示されます。
166
+
167
+
168
+
169
+ -------------------------------
170
+
171
+ 【追記】
172
+
173
+ 最初の質問のコードでの話しですが、
174
+
175
+ ```PHP
176
+
177
+ while($row =
178
+
179
+ ※省略させていただきます
180
+
181
+ $row_ct = count($row['data']);
182
+
183
+ の後に、var_dump($row);
184
+
185
+ // array(1){["data"]=>array(1){[0]=>array(3){["id"]=>○○["name"]=>○○["dakoku"]=>○○}}}
186
+
187
+ // array(1){["data"]=>array(1){[0]=>array(3){["id"]=>××["name"]=>××["dakoku"]=>××}}}
188
+
189
+ となりました。
190
+
191
+ var_dump($row_ct);だと
192
+
193
+ int(1)int(1)となりました
194
+
195
+ ```
196
+
197
+ ※データが2行あった事としています。
198
+
199
+ こういう部分がもしかして原因なのか?ということも考えられませんか?
200
+
201
+ 結局data[0]['dakoku']と数字の部分がうまく行ってないのかなと思ったのですが、、、、
202
+
203
+
204
+
205
+ 回答の参考になればと思います。。。

1

回答を元に修正

2016/02/19 09:59

投稿

Z-TALBO
Z-TALBO

スコア525

test CHANGED
File without changes
test CHANGED
@@ -85,3 +85,81 @@
85
85
 
86
86
 
87
87
  解決法はどのようになるでしょうか?
88
+
89
+
90
+
91
+ -------------------------------
92
+
93
+ 【追記】
94
+
95
+ 回答いただいた内容での修正です。
96
+
97
+ ※回答いただいた内容のままではあります。
98
+
99
+ ```HTML
100
+
101
+ // DBからデータを受け取る
102
+
103
+ while($row = $stmt->fetch()) {
104
+
105
+ $row['data'][] = array(
106
+
107
+ array(
108
+
109
+ "id" => $row['id'],
110
+
111
+ "name" => $row['name'],
112
+
113
+ "dakoku" => $row['dakoku']),
114
+
115
+ );
116
+
117
+ ** // whileの閉じタグをここに変更**
118
+
119
+ }
120
+
121
+ $row_ct = count($row['data']);
122
+
123
+
124
+
125
+ for($no = 0; $no < $row_ct; $no++) {
126
+
127
+ ?>
128
+
129
+ <form action="update.php" method="post">
130
+
131
+ <tr>
132
+
133
+ <td> <?= h($row['data'][$no]['name']); ?> </td>
134
+
135
+ <td> <select name="data[<?= $no; ?>]['dakoku']" value="<?= h($row['data'][$no]['dakoku']; ?>">
136
+
137
+ <option <?= $row['data'][$no]['dakoku'] != '出勤' ?: 'selected' ?> value="出勤">出勤</option>
138
+
139
+ <option <?= $row['data'][$no]['dakoku'] != '退勤' ?: 'selected' ?> value="退勤">退勤</option>
140
+
141
+ <option <?= $row['data'][$no]['dakoku'] != '休戻' ?: 'selected' ?> value="休入">休入</option>
142
+
143
+ <option <?= $row['data'][$no]['dakoku'] != '休戻' ?: 'selected' ?> value="休戻">休戻</option>
144
+
145
+ </select>
146
+
147
+ <td>
148
+
149
+ <?php } ?>
150
+
151
+ </tr>
152
+
153
+ <input type="submit" value="保存">
154
+
155
+ ```
156
+
157
+ 上記のようにwhileの閉じタグを変更してみましたが、、、
158
+
159
+ そうなると、そもそもデータが表示されなくなりました。エラーは出ていません。
160
+
161
+
162
+
163
+ whileを閉じてしまったから?でしょうか?
164
+
165
+ 質問時のコードであれば、値などは表示されます。