我使用以下代码填充一个带有数组值的组合框:
查看代码:
echo $this->form->input('Price', array('type'=>'select','options'=>$price));
然而,当我选择一个值并单击提交并使用get,
在我的视图中检索此值查看代码:
$price=$_GET['Price'];
echo $price;
这只会给我选择的索引。如何检索与索引关联的值?
答案 0 :(得分:0)
如果那一行:
echo $this->form->input('Price', array('type'=>'select','options'=>$price));
真的在你的控制器中你正在做一些根本错误的事情。
这也不对:
$price=$_GET['Price'];
echo $price;
另外,声明一个根本没用过的变量是什么意思?
echo $_GET['Price'];
同样也不是一个好主意,所有输出都应该通过Cakes h()函数传递,这是html htmlspecialchars()的快捷方式,但它比htmlspecialchars()更多。
您没有关注CakePHPs coding standards。这是正确的做法:
// controller
$this->set('prices', $this->Model->getPrices());
// view
echo $this->form->input('price', array('type'=>'select','options'=> $prices));
// Controller
// When you submitted the form you can get the data in the controller in the request object
debug($this->request->data['Model']['price']);
说真的,do the blog tutorial。这里有很多错误,我基本上必须为你写一个完整的教程。博客教程将教你基础知识。
答案 1 :(得分:0)
让我们说价格数组给出了结构:
array('1'=>'1000','2'=>'2000', etc etc);
并且视图位于行
之下echo $this->form->input('Price', array('type'=>'select','options'=>$price));
然后很明显,你只会获得$_GET['Price'];
现在,如果您想要$_GET['Price'];
中的值,那么请更改您的价格数组
它应该是array('1000'=>'1000','2000'=>'2000', etc etc);
,即值对
现在$_GET['Price'];
会给你价值!