二月飞

学学更健康

商城开发(3)_栏目管理

这里我们先定义一个cateModel.class.php文件。存在在model文件夹下。

(1)获取无限级分类

为了以树状的形式显示无限级分类,我们需要创建两个方法。

一个是获取所有的分类,返回一个二维数组。

   public function select() {
        $sql = 'select cat_id,cat_name,parent_id from ' .  $this->table;
        return $this->db->getAll($sql);
    }

第二个是将无限级分类树状格式化。传入一个数组,并传入开始的id值和层级标识符lev

    public function getCatTree($arr,$id = 0,$lev=0) {
        $tree = array();

        foreach($arr as $v) {
            if($v['parent_id'] == $id) {
                $v['lev'] = $lev;
                $tree[] = $v;

                $tree = array_merge($tree,$this->getCatTree($arr,$v['cat_id'],$lev+1));
            }
        }

        return $tree;
    }

(2).栏目的添加方法
将需要添加的栏目的相关信息封装到一个数组中,然后将数组的值再通过定义的函数添加到数据库中。

    public function add($data) {
        return $this->db->autoExecute($this->table,$data);
    }

(3)栏目的删除方法方法
 删除栏目,则是将需要删除的栏目的id传过来,进行删除。但是在删除的过程中,首先要判断是否还有子栏目,若有,则不需删除。

在通过判断后,子栏目为空,则可以进行删除。

    public function getSon($id) {
        $sql = 'select cat_id,cat_name,parent_id from ' . $this->table . ' where parent_id=' . $id;

        return $this->db->getAll($sql);
    }

 

public function delete($cat_id){

$sql='delete from '.$this->table . ' where cat_id='.$cat_id;
$this->db->query($sql);
return $this->db->affected_rows();
}
}

(4)栏目的编辑

先到栏目列表页,点击编辑,通过传递的cat_id值则可以判断是修改哪个栏目。然后通过find()方法,找出相关信息catinfo。修改好后跳转到修改处理页面。进行修改。

1)先找到所需要修改的栏目信息。

public function find($cat_id){
  $sql='select * from '.$this->table . ' where cat_id='.$cat_id;
  return $this->db->getRow($sql);

}

$cat_info=$cat->find($cat_id);
2)将修改好的内容传递给处理页面,进行修改。在此之前要判断修改后的父栏目是不是以前的子孙栏目。所以先判断他的家谱树。

public function getTree($id=0){
$tree=array();
$cats=$this->select();
while($id>0){
foreach($cats as $v){

 if($v['cat_id']==$id){
 $tree[]=$v;
 $id=$v['parent_id'];
 break; }
 
}

}

return $tree;

}

然后开始删除工作

public function delete($cat_id){

$sql='delete from '.$this->table . ' where cat_id='.$cat_id;
$this->db->query($sql);
return $this->db->affected_rows();
}

 

这样就完成了对商城栏目的增删改查工作。

 

 

posted on 2013-08-27 21:37  二月飞  阅读(181)  评论(0)    收藏  举报

导航