質問編集履歴

2

コードを減らしました。以後多くならないよう注意いたします。ご指摘ありがとうございました。

2017/05/25 12:08

投稿

narutomo
narutomo

スコア13

test CHANGED
File without changes
test CHANGED
@@ -154,16 +154,10 @@
154
154
 
155
155
 
156
156
 
157
- //以下が、一覧を表示させたいselect文
158
-
159
-
160
-
161
157
  $query_search='select kudamono_list.kudamono_name,customer_list.customer_name from kudamono_list,customer_list';
162
158
 
163
159
 
164
160
 
165
-
166
-
167
161
  foreach ($_POST['kudamono_name'] as $value) {
168
162
 
169
163
  echo $value;
@@ -172,11 +166,7 @@
172
166
 
173
167
 
174
168
 
175
- //このforeachで取ってきた値をどのように組み込めば他の一覧で表示させたいデータと一緒に、ループさせた感じ表示でるかが不明
169
+ //このforeachで取ってきた値をどのように組み込めば他の一覧で表示させたいデータと一緒に、ループさせたいのすが、うまく行ませんした。
176
-
177
-
178
-
179
-
180
170
 
181
171
 
182
172
 
@@ -198,9 +188,9 @@
198
188
 
199
189
 
200
190
 
201
- $line .= "<tr><td>".$kudamono_name[$i]." ".$customer_name[$i]."</td></tr>";
191
+ $line .= "<tr><td>".$kudamono_name[$i]." ".$customer_name[$i]."</td></tr>";//ここが一覧表示したいコード
202
-
203
- //ここが一覧表示したいコード(ですが、foreachをどう入れるかが思いつきませんでした。)
192
+
193
+
204
194
 
205
195
  $i++;
206
196
 
@@ -246,8 +236,6 @@
246
236
 
247
237
 
248
238
 
249
-
250
-
251
239
  ?>
252
240
 
253
241
 

1

コードを減らしました。以後コードを分けて記入するように気をつけます。

2017/05/25 12:07

投稿

narutomo
narutomo

スコア13

test CHANGED
File without changes
test CHANGED
@@ -28,83 +28,121 @@
28
28
 
29
29
 
30
30
 
31
- を利用して、echo $value;で値を取得するというのを調べていたら出てきたのですが、この取得したデータ=$valueを変数にして、
31
+ と記入して、echo $value;で値を取得するというのを調べていたら出てきたのですが、この取得したデータを変数にして、一覧表示させる方法はないものでしょうか?
32
+
33
+
34
+
35
+
36
+
32
-
37
+ ###該当のソースコード
38
+
33
-
39
+ ```ここに言語を入力
40
+
41
+
42
+
34
-
43
+ test2.html↓
44
+
45
+
46
+
47
+ <form method="post" action="test_search.php" style="width:800px;margin:0 auto;">
48
+
49
+ <table style="border:1px solid black;width:600px;">
50
+
51
+ <tr>
52
+
53
+ <td style="border:1px solid black;">検索項目</td>
54
+
55
+ <td style="world-wrap:break-word;"><#LIST#></td>
56
+
57
+ </tr>
58
+
59
+ <tr>
60
+
61
+ <td colspan="2" style="text-align:center;">
62
+
63
+ <input type="submit" value="検索">
64
+
65
+ </td>
66
+
67
+ </tr>
68
+
69
+ <tr>
70
+
71
+ <td><#RESULT#></td>
72
+
73
+ </tr>
74
+
75
+ </form>
76
+
77
+ </table>
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+ ```
86
+
87
+
88
+
89
+ ```
90
+
91
+ 上記htmlをPHPで読み込み
92
+
93
+ <?php
94
+
95
+
96
+
97
+ $query='select kudamono_name from kudamono_list';
98
+
99
+
100
+
35
- $line = "";
101
+ $search_checkbox = "";
102
+
36
-
103
+ if($result = mysqli_query($link,$query)){
104
+
105
+
106
+
107
+ $i = 0;
108
+
37
- while($row = mysqli_fetch_assoc($result_search)){
109
+ while($row = mysqli_fetch_assoc($result)){
38
110
 
39
111
  $kudamono_name[$i] = $row['kudamono_name'];
40
112
 
41
-
113
+ $search_checkbox .= "<label><input type='checkbox' name='kudamono_name[]' value='$kudamono_name[$i]'>".$kudamono_name[$i]." </label>";
42
114
 
43
115
  $i++;
44
116
 
117
+
118
+
45
- でループして取得するデータと一緒に、一覧に表示させが、何か方法はないものでしょうか?
119
+ //ちらチェックボックスのinputタグをデータがある分だけループさせ
46
-
47
-
48
-
49
-
50
-
51
- ###該当のソースコード
120
+
52
-
121
+
122
+
53
- ```ここに言語を入力
123
+ }
54
-
55
- test2.html↓
124
+
56
-
57
-
58
-
59
- <!DOCTYPE html>
60
-
61
- <html lang="ja">
125
+ mysqli_free_result($result);
62
-
63
- <head>
126
+
64
-
65
- <meta charset="utf-8">
66
-
67
- </head>
68
-
69
- <body>
70
-
71
- <form method="post" action="test_search.php" style="width:800px;margin:0 auto;">
72
-
73
- <table style="border:1px solid black;width:600px;">
74
-
75
- <tr>
127
+ }
76
-
77
- <td style="border:1px solid black;">検索項目</td>
128
+
78
-
79
- <td style="world-wrap:break-word;"><#LIST#></td>
80
-
81
- </tr>
82
-
83
- <tr>
84
-
85
- <td colspan="2" style="text-align:center;">
86
-
87
- <input type="submit" value="検索">
88
-
89
- </td>
90
-
91
- </tr>
92
-
93
- </form>
94
-
95
- </table>
129
+ mysqli_close($link);
96
-
97
- </body>
130
+
98
-
99
- </html>
131
+
100
-
101
-
102
-
103
-
104
-
132
+
105
- test2.php↓(test2.htmlを読み込んでいます
133
+ //ここからはfopenでtest2.htmlを読み込みしてるため省略してます
134
+
106
-
135
+ ?>
136
+
137
+
138
+
139
+
140
+
107
-
141
+ ```
142
+
143
+ ```
144
+
145
+ 検索後に表示させたいPHPです↓
108
146
 
109
147
 
110
148
 
@@ -112,53 +150,63 @@
112
150
 
113
151
 
114
152
 
115
- require_once('./database_config.php');
116
-
117
- $link=mysqli_connect(DB_SERVER,DB_ACCOUNT_ID,DB_ACCOUNT_PW,DB_NAME);
118
-
119
- if (!$link) {
120
-
121
- echo "error_connect";
122
-
123
- exit;
124
-
125
- }
126
-
127
- mysqli_set_charset($link,"utf8");
128
-
129
-
130
-
131
- $query='select kudamono_name from kudamono_list';
132
-
133
-
134
-
135
-
136
-
137
- $search_checkbox = "";
138
-
139
- if($result = mysqli_query($link,$query)){
140
-
141
-
142
-
143
- $i = 0;
144
-
145
- while($row = mysqli_fetch_assoc($result)){
146
-
147
- $kudamono_name[$i] = $row['kudamono_name'];
148
-
149
- $search_checkbox .= "<label><input type='checkbox' name='kudamono_name[]' value='$kudamono_name[$i]'>".$kudamono_name[$i]." </label>";
150
-
151
- $i++;
152
-
153
-
154
-
155
- //こちらでチェックボックスのinputタグをデータがある分だけループさせています
156
-
157
-
158
-
159
- }
160
-
161
- mysqli_free_result($result);
153
+ //上記のPHPと同じコードを記入して、<input type="checkbox">をループさせています。
154
+
155
+
156
+
157
+ //以下が、一覧を表示させたいselect文
158
+
159
+
160
+
161
+ $query_search='select kudamono_list.kudamono_name,customer_list.customer_name from kudamono_list,customer_list';
162
+
163
+
164
+
165
+
166
+
167
+ foreach ($_POST['kudamono_name'] as $value) {
168
+
169
+ echo $value;
170
+
171
+ }
172
+
173
+
174
+
175
+ //このforeachで取ってきた値をどのように組み込めば他の一覧で表示させたいデータと一緒に、ループさせた感じで表示できるかが不明です
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+ $line="";
184
+
185
+
186
+
187
+ if($result_search = mysqli_query($link,$query_search)){
188
+
189
+ $i = 0;
190
+
191
+ while($row = mysqli_fetch_assoc($result_search)){
192
+
193
+
194
+
195
+ $kudamono_name[$i] = $row['kudamono_name'];
196
+
197
+ $customer_name[$i] = $row['customer_name'];
198
+
199
+
200
+
201
+ $line .= "<tr><td>".$kudamono_name[$i]." ".$customer_name[$i]."</td></tr>";
202
+
203
+ //ここが一覧表示したいコード(ですが、foreachをどう入れるかが思いつきませんでした。)
204
+
205
+ $i++;
206
+
207
+ }
208
+
209
+ mysqli_free_result($result_search);
162
210
 
163
211
  }
164
212
 
@@ -168,7 +216,7 @@
168
216
 
169
217
 
170
218
 
171
- $fp=fopen('./test2.html','r');
219
+ $fp=fopen('./test_search.html','r');
172
220
 
173
221
 
174
222
 
@@ -176,34 +224,30 @@
176
224
 
177
225
 
178
226
 
179
- $line=fgets($fp);
227
+ $html_line=fgets($fp);
180
-
228
+
181
- $line1=str_replace("<#LIST#>",$search_checkbox,$line);
229
+ $html_line1=str_replace("<#LIST#>",$search_checkbox,$html_line);
182
-
183
-
184
-
230
+
185
- //test2.htmlの一部である<#LIST#>input文に入れ替えています
231
+ $html_line2=str_replace("<#RESULT#>",$line,$html_line1);
186
-
187
-
188
-
232
+
233
+
234
+
189
- $lines = $line1;
235
+ $lines = $html_line1;
190
236
 
191
237
  echo $lines;
192
238
 
193
-
194
-
195
239
  }
196
240
 
197
241
 
198
242
 
199
243
  fclose($fp);
200
244
 
201
-
202
-
203
245
  exit();
204
246
 
205
247
 
206
248
 
249
+
250
+
207
251
  ?>
208
252
 
209
253
 
@@ -212,259 +256,13 @@
212
256
 
213
257
 
214
258
 
215
-
216
-
217
- test_search.html↓(検索後に表示させたい画面)
218
-
219
-
220
-
221
- <!DOCTYPE html>
222
-
223
- <html lang="ja">
224
-
225
- <head>
226
-
227
- <meta charset="utf-8">
228
-
229
- </head>
230
-
231
- <body>
232
-
233
- <form method="post" action="test_search.php" style="width:800px;margin:0 auto;">
234
-
235
- <table>
236
-
237
- <tr>
238
-
239
- <td style="border:1px solid black;">検索項目</td>
240
-
241
- <td style="world-wrap:break-word;"><#LIST#></td>
242
-
243
- </tr>
244
-
245
- <tr>
246
-
247
- <td>
248
-
249
- <input type="submit" value="検索">
250
-
251
- </td>
252
-
253
- </tr>
254
-
255
- </form>
256
-
257
- </table>
258
-
259
- <table style="border:1px solid black">
260
-
261
- <tr>
262
-
263
- <td><#RESULT#></td>//ここに一覧表示を出したいです
264
-
265
- </tr>
266
-
267
- </table>
268
-
269
- </form>
270
-
271
- </body>
272
-
273
- </html>
274
-
275
-
276
-
277
-
278
-
279
-
280
-
281
-
282
-
283
-
284
-
285
- test_search.php↓(test_search.htmlの読み込み)
286
-
287
-
288
-
289
- ?>
290
-
291
- <?php
292
-
293
-
294
-
295
- require_once('./database_config.php');
296
-
297
- $link=mysqli_connect(DB_SERVER,DB_ACCOUNT_ID,DB_ACCOUNT_PW,DB_NAME);
298
-
299
- if (!$link) {
300
-
301
- echo "error";
302
-
303
- exit;
304
-
305
- }
306
-
307
- mysqli_set_charset($link,"utf8");
308
-
309
-
310
-
311
-
312
-
313
- $query = 'select kudamono_name from kudamono_list';
314
-
315
-
316
-
317
- $search_checkbox = "";
318
-
319
- if ($result = mysqli_query($link, $query)) {
320
-
321
-
322
-
323
- $i=0;
324
-
325
- while ($row = mysqli_fetch_assoc($result)) {
326
-
327
- $kudamono_name[$i] = $row['kudamono_name'];
328
-
329
-
330
-
331
- $search_checkbox .= "<label><input type='checkbox' name='kudamono_name[]' value='$kudamono_name[$i]'>".$kudamono_name[$i]." </label>";
332
-
333
- //検索後も、検索のチェックボタンは表示したいので、ここでも同じ読み込みをしています
334
-
335
-
336
-
337
- $i++;
338
-
339
-
340
-
341
- }
342
-
343
-
344
-
345
- mysqli_free_result($result);
346
-
347
- }
348
-
349
-
350
-
351
-
352
-
353
- //以下が、一覧を表示させたいselect文
354
-
355
-
356
-
357
- $query_search='select kudamono_list.kudamono_name,customer_list.customer_name from kudamono_list,customer_list';
358
-
359
-
360
-
361
-
362
-
363
- foreach ($_POST['kudamono_name'] as $value) {
364
-
365
- echo $value;
366
-
367
- }
368
-
369
-
370
-
371
- //このforeachで、チェックボックスでの選択された値は取れますが、この検索で取ってきた値を他の一覧で表示させたいデータと、kudamono_list.kudamono_name,customer_list.customer_nameで取った値をどうやって一緒に一覧にループさせた感じで組み込めばいいかが思いつきません
372
-
373
-
374
-
375
- $line="";
376
-
377
-
378
-
379
-
380
-
381
-
382
-
383
- if($result_search = mysqli_query($link,$query_search)){
384
-
385
- $i = 0;
386
-
387
- while($row = mysqli_fetch_assoc($result_search)){
388
-
389
-
390
-
391
- $kudamono_name[$i] = $row['kudamono_name'];
392
-
393
- $customer_name[$i] = $row['customer_name'];
394
-
395
-
396
-
397
- $line .= "<tr><td>".$kudamono_name[$i]." ".$customer_name[$i]."</td></tr>";
398
-
399
-
400
-
401
- $i++;
402
-
403
- }
404
-
405
- mysqli_free_result($result_search);
406
-
407
- }
408
-
409
-
410
-
411
- mysqli_close($link);
412
-
413
-
414
-
415
-
416
-
417
- $fp=fopen('./test_search.html','r');
418
-
419
-
420
-
421
- while(!feof($fp)) {
422
-
423
-
424
-
425
- $html_line=fgets($fp);
426
-
427
- $html_line1=str_replace("<#LIST#>",$search_checkbox,$html_line);
428
-
429
- $html_line2=str_replace("<#RESULT#>",$line,$html_line1);
430
-
431
-
432
-
433
- $lines = $html_line1;
434
-
435
- echo $lines;
436
-
437
- }
438
-
439
-
440
-
441
- fclose($fp);
442
-
443
- exit();
444
-
445
-
446
-
447
-
448
-
449
- ?>
450
-
451
-
452
-
453
-
454
-
455
-
456
-
457
259
  ```
458
260
 
459
261
 
460
262
 
461
263
  ###試したこと
462
264
 
463
- foreach ($_POST['kudamono_name'] as $value) {
464
-
465
- echo $value;
466
-
467
- }の中身を$kudamono_name = $value;と記入したり、色々試して変数に変えられれば、一覧に表示できるのではと思ったのですが、うまく行きません。
265
+ foreach の中身を$kudamono_name = $value;と記入したり、色々試して変数に変えられれば、一覧に表示できるのではと思ったのですが、うまく行きません。
468
266
 
469
267
 
470
268