用户
 找回密码
 入住 CI 中国社区
搜索
查看: 9967|回复: 6
收起左侧

[程序 App] 分享一个多级分类以下拉列表形式显示的程序

[复制链接]
发表于 2008-5-12 21:46:49 | 显示全部楼层 |阅读模式
控制器部分:
PHP复制代码
 
$layer=1;   //用来跟踪当前菜单的级数
 
$sql="select * from channels where parentid=0";
$root=$this->db->query($sql);
                       
if($root->num_rows()>0) {
  $this->load->model('Showtreemenu');        
  $data['station']=$this->Showtreemenu->showbyselect($root,$layer);
  $this->load->view('adminweblogin/adv_info_add',$data);
}
 
复制代码


模型部分代码:
PHP复制代码
 
class Showtreemenu extends Model {
 
  function Showtreemenu()
  {
    parent::Model();
   }
   
  function showbyselect($result,$layer){  
    $rows=$result->num_rows();
    $menu=$result->result_array();
    $select="";    
    foreach($menu as $row){    
      $channelid=trim($row['channelid']);
      $select.="<option value='$channelid'>";
      for($i=1;$i<$layer;$i++){
         $select.="|——";
      }
      $select.=$row['channel'];
      $select.="</option>";  
                       
      $sql_sub="select * from channels where parentid='$channelid'";
      $result_sub=$this->db->query($sql_sub); //echo   $result_sub->num_rows() ;
                               
      if($result_sub->num_rows()>0){    
        $layer++;      
        $select.=$this->showbyselect($result_sub,$layer);        
        $layer--;
      }    
    }  
    return $select;
  }
       
}
 
复制代码

评分

参与人数 1威望 +5 收起 理由
Hex + 5 精品文章

查看全部评分

发表于 2008-9-18 20:24:11 | 显示全部楼层
view都没有啊~?

[ 本帖最后由 le_el 于 2008-9-18 20:26 编辑 ]
发表于 2010-1-29 09:02:20 | 显示全部楼层
请问我要拿到最后一个下拉框的值怎么拿呢?就是我的部门一级一级的查找下去,当到了我要的那个部门则进行提交,控制器将拿到这个部门的值保存到数据库里。且有一种情况,就是它选择了这个部门之前发现不是他想要的,它会重新点击前面的某一级菜单,然后继续查找另一子级的部门,然后提交。这能实现吗?
发表于 2010-8-4 16:40:33 | 显示全部楼层
能把整个源码给我用一下吗????
发表于 2010-8-18 22:27:25 | 显示全部楼层
最近在研究这个,好懵懂啊!
发表于 2012-2-23 20:22:58 | 显示全部楼层
数据表结构呢?
发表于 2017-3-2 10:39:50 | 显示全部楼层
笨人想要笨的方法,求整套源码

本版积分规则