增加栏目时,如果表单提交过来有多余的数据,数据库中没有改字段,就会插入数据库失败,所以要判断是否有该字段,再选择插入
查找所有字段的方法:
//查找表中的所有字段,返回数组 public function ziduan(){ $sql='desc '.$this->table; $rs=$this->db->query($sql); $arr=array(); while(($row=mysql_fetch_row($rs))!==false){ $arr[]=$row[0]; } return $arr; }
在控制页面的使用:
$goods=new goodsModel(); $arr=$goods->ziduan(); print_r($arr); foreach($_POST as $k=>$v){ if(in_array($k,$arr)){ $data[$k]=$v; } } if($goods->add($data)){ echo '商品发布成功'; }else{ echo '商品发布失败'; }
删除一个栏目时,如果这个栏目下有其他栏目,这样删除之后,他的子栏目和顶级栏目就会有联系,造成找不到,所以如果有子栏目则不允许删除
$cat=new catModel(); $cat_name=$cat->getOne('cat_name',$id); //如果该栏目下有子栏目,则不允许删除 $sons=$cat->getSon($id); if(!empty($sons)){ exit('有子栏目,不允许删除。'); }
getSon方法:
//查找所有子栏目 public function getSon($id){ $sql='select id,cat_name,cat_num,cat_desc from '.$this->table.' where parent_id='.$id; return $this->db->query($sql); }