teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2016/10/27 02:41

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -13,4 +13,21 @@
13
13
 
14
14
  それともそもそもdebugにもprintにもなにも表示されないですか?
15
15
 
16
- あと一点、このforeach文はselectタグの中にありますので仮にprintで文字列が出力されてもoption要素として出力しないとselectボックスのoptionとしては出力されないと思います。
16
+ あと一点、このforeach文はselectタグの中にありますので仮にprintで文字列が出力されてもoption要素として出力しないとselectボックスのoptionとしては出力されないと思います。
17
+
18
+ ・追記
19
+ ```php
20
+ foreach($dbs as $name){
21
+ $p_database=$name['DBS']['NAME'];
22
+ $para['database']=$p_database;
23
+ //debug($para['database']);
24
+ printf("<option value=\"%s\">%s</option>",$para['database'],$para['database']);
25
+ }
26
+ ```
27
+ $para['database']に値がセットされている前提とすると上記のようなコードになると思います。
28
+ printfはforeachの中に入れました
29
+
30
+ もしこれでも表示されないのであれば$para['database']、つまり$name['DBS']['NAME']にデータが渡ってきていないという事になりますのでその場合は
31
+ まずdebug($dbs)やvar_dumpでも良いのでlayoutで$dbsに値が入っている事を確認する。
32
+ それもOKであれば次にdebug($name)でどういう配列になっているか確認した上で$name['DBS']['NAME']のようなキーで大丈夫か確認する、という流れになると思います。ただし、このあたりを確認するときはselectタグはコメントし、プレーンに表示されるようにされた方が見やすいかと思います。
33
+

1

追記

2016/10/27 02:41

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -11,4 +11,6 @@
11
11
  最終$para['database']には最後のレコードのものしか残らないように思います。
12
12
  複数レコードの場合、たとえば5件あった場合、debugには5件表示されるがprintでは最後の1件しか表示されないのでは?と思うのですが、そういう不具合ですか?
13
13
 
14
- それともそもそもdebugにもprintにもなにも表示されないですか?
14
+ それともそもそもdebugにもprintにもなにも表示されないですか?
15
+
16
+ あと一点、このforeach文はselectタグの中にありますので仮にprintで文字列が出力されてもoption要素として出力しないとselectボックスのoptionとしては出力されないと思います。