回答編集履歴

3

追記

2016/10/27 06:39

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -25,3 +25,65 @@
25
25
  としておけば、<select>を囲むformのaction先のコントローラで
26
26
 
27
27
  DB_IDを取得できるのであとは質問に記載されているソースを適宜それに合わせて調整すれば行けませんか?
28
+
29
+
30
+
31
+ 追記
32
+
33
+ ```html
34
+
35
+ <form method="POST" action="">
36
+
37
+ <select name="database_id">
38
+
39
+ <option value="1">name1</option>
40
+
41
+ <option value="2">name2</option>
42
+
43
+ <option value="3">name3</option>
44
+
45
+ <option value="4">name4</option>
46
+
47
+ </select>
48
+
49
+ <input type="submit" value="送信">
50
+
51
+ </form>
52
+
53
+ ```
54
+
55
+ 例えば上記のようなHTMLが出力されるようにする、POST送信は送信ボタンでもjavascriptでPOSTしても色々やりようはあると思いますが、これで同コントローラへPOST送信されます。
56
+
57
+
58
+
59
+ htmlが表示された状態でソースを表示して、実際上記のようなHTMLになっているか確認してください
60
+
61
+
62
+
63
+ これで送信すると同じページ(同コントローラ)へPOST送信されるので
64
+
65
+ $_POSTにdatabase_idがセットされているはずです。
66
+
67
+
68
+
69
+ ここまではcakePHP等フレームワークも言語も関係なくHTMLの仕様です。
70
+
71
+
72
+
73
+ これをコントローラ側で取り出す方法はフレームワークによりやり方は違いますので
74
+
75
+ cakePHPは使う事がない為詳しくはしりませんので今ネットでしらべた情報ですが、
76
+
77
+
78
+
79
+ `$this->request->query('database_id');`
80
+
81
+
82
+
83
+ で取得できると思います(未確認、取得できなかったら下記サイト参考にして試してください。)
84
+
85
+
86
+
87
+ 参考:http://qiita.com/qiita_taro/items/23f935f24840d0bd3cf9
88
+
89
+

2

修正

2016/10/27 06:39

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -12,10 +12,6 @@
12
12
 
13
13
  foreach($dbs as $name){
14
14
 
15
- $database=$name['DBS']['NAME'];
16
-
17
- $buffer=$database;
18
-
19
15
  printf("<option value=\"%d\">%s</option>",
20
16
 
21
17
  $name['DBS']['DB_ID'],$name['DBS']['NAME']);

1

修正

2016/10/27 06:12

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  $buffer=$database;
18
18
 
19
- printf("<option value=\"%d\" selected>%s</option>",
19
+ printf("<option value=\"%d\">%s</option>",
20
20
 
21
21
  $name['DBS']['DB_ID'],$name['DBS']['NAME']);
22
22