我的数据库中有一个城市表,其中包含城市列表,每个城市都有自己的id(Unique)。
现在我想在视图页面的选择框中显示城市列表,以便用户可以从中选择城市。
我使用下面的代码在我的控制器:
$sql = mysql_query("select * from cities ORDER BY city_name");
if(mysql_num_rows($sql)>0){
while($row=mysql_fetch_array($sql))
{
echo '<option value="'.$row['city_name'].'">'.$row['city_name'].'</option>';
}
}
else
{
echo '<option selected="selected">No data</option>';
}
我应该在视图中使用什么代码来显示选择框中的城市列表?
为什么不使用City模型呢?
那么你可以在控制器中使用find('list')选项:
$this->set('cities', $this->City->find('list',array('fields' => array('id','city_name'))));
然后在你的视图中使用:
echo $this->Form->input('City');
关于查找列表选项的更多信息:http://book.cakephp.org/2.0/en/models/retrieving-your-data.html
关于表单帮助器的更多信息:http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html