前两天这个问题困扰了我好久啊,下拉框到底怎么获取数据库的数据,一开始只是想到使用volist循环输出,
<pre class="html" name="code"> <select name="jxname" >
<option value="0">请选择驾校</option>
<volist name="type" id="vo">
<option value ="{$vo.jxname}">{$vo.jxname}</option>
</volist>
</select>
可是该如何提交到控制器中的方法实现查询数据库呢?一开始想使用之前做其他功能的方法来实现,通过点击该下拉框,使用onclick调用方法,可是显然不能实现,点击下拉框后,页面跳到模板页,然后点击刷新才显示了数据,可是这不满足使用的需求啊,不可能每一次进入页面点两次才出来数据吧,后来还使用了JavaScript中$function(),当页面加载完毕后直接调用该方法,也没用实现(这个我不好说,毕竟Javascript没怎么学过,也有可能是我使用不当,还有可能是我没有理解它的意思,在这不做讨论,回头好好学习一下),折腾好几天,突然想到,这个文件名是index.html,如果让调用的方法名与文件名相同,是不是不需要点击,就能直接调用呢,果然,成功了。
所以,把方法命名为index即可
public function index(){
header('Content-Type:text/html;charset=utf-8');
$type=M('jxinfo');
$arr=$type->select();
if($arr){
$this->assign('type',$arr);
$this->display();
}
else
echo "error";
}
由于我是初学者,如果有什么不对的地方,希望得到大家的指教,谢谢。