field($field)->limit($limit)->order($order)->where($condition)->select()->toArray(); return $result; } /** * 新增 * @access public * @author csdeshang * @param array $data 参数内容 * @return bool 布尔类型的返回结果 */ public function addFleaarea($data) { $result = Db::name('fleaarea')->insertGetId($data); return $result; } /** * 取单个地区的内容 * @access public * @author csdeshang * @param array $condition 检索条件 * @return array 数组类型的返回结果 */ public function getOneFleaarea($condition){ if (!empty($condition)){ $result = Db::name('fleaarea')->where($condition)->find(); return $result; }else { return false; } } /** * 更新信息 * @access public * @author csdeshang * @param array $data 更新数据 * @return bool 布尔类型的返回结果 */ public function editFleaarea($condition, $data) { $result = Db::name('fleaarea')->where($condition)->update($data); return $result; } /** * 删除地区 * @access public * @author csdeshang * @param int/array $id 删除ID * @param int $deep 删除深度,默认为1 * @return array $rs_row 返回数组形式的查询结果 */ public function delFleaarea($id,$deep=1){ if (!empty($id)){ if (!is_array($id)){ $id = array($id); } /** * 取得地区缓存内容 */ $child_deep = $deep+1; for ($i=$child_deep; $i<=4; $i++){ $cache_file = ROOT_PATH . "extend" . DIRECTORY_SEPARATOR . "area" . DIRECTORY_SEPARATOR . "area_" . $deep . ".php"; if (file_exists($cache_file)){ require_once($cache_file); $tmp = 'cache_data_'.$i; $$tmp = $area_array; unset($tmp,$area_array); } } foreach ($id as $k => $v){ if (intval($v) > 0){ $del_tmp[] = "fleaarea_id = '". $v ."'"; /** * 判断子类中是否还有内容 */ if ($child_deep <= 4){ $del_parent_id = array($v); for ($i=$child_deep; $i<=4; $i++){ $tmp = 'cache_data_'.$i; if (isset($$tmp) && is_array($$tmp) && !empty($del_parent_id)){ foreach ($del_parent_id as $k_parent => $v_parent){ foreach ($$tmp as $k_2 => $v_2){ if ($v_2['fleaarea_parent_id'] == $v_parent){ $del_tmp[] = "fleaarea_id = '". $v_2['fleaarea_id'] ."'"; $next_parent_id[] = $v_2['fleaarea_id']; } } } /** * 再下一级的父ID */ $del_parent_id = $next_parent_id; } } } } } $where = implode(' or ',$del_tmp); $result = Db::name('fleaarea')->where($where)->delete(); return $result; }else { return false; } } /** * 地址展示 * @access public * @author csdeshang * @return type */ public function fleaarea_show(){ $area_one_level = array(); $area_two_level = array(); $condition = array(); $condition[]=array('fleaarea_parent_id','=',1); $area_list=$this->getFleaareaList($condition,'fleaarea_id,fleaarea_name,fleaarea_parent_id','fleaarea_parent_id asc,fleaarea_sort asc,fleaarea_id asc'); if(is_array($area_list) && !empty($area_list)) { foreach ($area_list as $val) { if($val['fleaarea_parent_id'] == 0) { $fleaarea_id = $val['fleaarea_id']; $area_one_level[] = $val; $area_two_level[$fleaarea_id]['id']=$fleaarea_id; } else { $fleaarea_parent_id = $val['fleaarea_parent_id']; if(isset($area_two_level[$fleaarea_parent_id])) { $area_two_level[$fleaarea_parent_id]['children'][] = $val; $area_children = $area_two_level[$fleaarea_parent_id]['children']; $area_two_level[$fleaarea_parent_id]['content'] = json_encode($area_children); } } } } return(array('area_one_level'=>$area_one_level, 'area_two_level'=>$area_two_level)); } }