比如你有一个城市表 city,有字段id和city_name, 代码如下:
创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为长沙县企业提供专业的网站设计、成都网站制作,长沙县网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
?php
$sql = 'select * from city';
$res = mysql_query($sql);
$cities = array();
while ($row = mysql_fetch_assoc($res) )
{
$cities[$row['id']] = $row['name'];
}
?
select name="PubForm[city]" class="sgselect scate" id="city"
option selected="selected" value=""-- 请选择城市 --/option
?php foreach ( $cities as $id=$city ) { ?
option value="?php echo $id; ?"?php echo $city; ?/option
/select
原理就是从mysql查询出所有城市的数据并弄成一个数组$cities ,然后循环$cities,按照下拉表单的格式输出option选项就好了
现在国内很多个人站长都要求无限级菜单,但其实真正商业用,2级或3级菜单足够了。无限级没有意义,而且递归太耗CPU,其实是不足取的。
不过既然问了,还是说一下无限级菜单的原理吧:
1、数据库结构:只有三个字段是必须的:
id:菜单编号
title:菜单标题
pid:上级菜单
2、生成数组:
如果只是用于菜单显示的话,数组可以根据上级分类来取:写一个getArray(pid)的函数,根据上级菜单是什么,来取得同级菜单。顶级菜单的pid是0,如果取得的数据为空,那么就是没有子菜单。
原理就这么简单。你网上看源码,还会有各种其它需求,比如一次树状列出所有菜单等等,所有源码就会显得很复杂。自己根据我说的原理写,相对还是简单的,只是做flash菜单的话,不需要递归。
最好让你老板确定菜单层数,这样写起来会容易得多。
可以采用Jquery ajax请求
select name="area" id="area"
option选择分校/option
?php getCategorySelect("area",$fid); ?
/select
把分校的值ajax传到后台处理,拿到 选择教师的数据,添加到 select 上