judy_zyzyx 发表于 2008-5-12 21:46:49

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

控制器部分:

$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);
}


模型部分代码:

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;
}
       
}

le_el 发表于 2008-9-18 20:24:11

view都没有啊~?

[ 本帖最后由 le_el 于 2008-9-18 20:26 编辑 ]

aqw23 发表于 2010-1-29 09:02:20

请问我要拿到最后一个下拉框的值怎么拿呢?就是我的部门一级一级的查找下去,当到了我要的那个部门则进行提交,控制器将拿到这个部门的值保存到数据库里。且有一种情况,就是它选择了这个部门之前发现不是他想要的,它会重新点击前面的某一级菜单,然后继续查找另一子级的部门,然后提交。这能实现吗?

jshoukun 发表于 2010-8-4 16:40:33

能把整个源码给我用一下吗????

sinobuddy 发表于 2010-8-18 22:27:25

最近在研究这个,好懵懂啊!

gxcnvip 发表于 2012-2-23 20:22:58

数据表结构呢?

小宝1221 发表于 2017-3-2 10:39:50

笨人想要笨的方法,求整套源码
页: [1]
查看完整版本: 分享一个多级分类以下拉列表形式显示的程序