thinkphp 获取数据集 和 获取单挑数据
list_to_tree 在导航等用的多
int_to_string将数字 转换为字符串 在一些 什么 男女 状态等地方用的多
方便
/* * 获取数据集 * */ function get_result($Model,$map=array(),$field='',$order='',$limit=0,$group='',$having=''){ if(is_string($Model)){ $Model = M($Model); } if($limit==0){ $limit=''; } $result=$Model->where($map)->field($field)->order($order)->group($group)->having($having)->limit($limit)->select(); if(C('SESSION_SQL')){ session('sql',$Model->getLastSql()); } //echo $Model->getLastSql().'
'; return $result; } /* * 获取单条数据 * */ function get_info($Model,$map=array(),$field=array(),$order=''){ if(is_string($Model)){ $Model=M($Model); } $result=$Model->where($map)->field($field)->order($order)->find(); if(C('SESSION_SQL')){ session('sql',$Model->getLastSql()); } return $result; } /** * 将返回的数据集转换成树 * @param array $list 数据集 * @param string $pk 主键 * @param string $pid 父节点名称 * @param string $child 子节点名称 * @param integer $root 根节点ID * @return array 转换后的树 */ function list_to_tree($list, $pk = 'id', $pid = 'pid', $child = '_child', $root=0) { $tree = array();// 创建Tree if(is_array($list)) { // 创建基于主键的数组引用 $refer = array(); foreach ($list as $key => $data) { $refer[$data[$pk]] =& $list[$key]; } foreach ($list as $key => $data) { // 判断是否存在parent $parentId = $data[$pid]; if ($root == $parentId) { $tree[$data[$pk]] =& $list[$key]; }else{ if (isset($refer[$parentId])) { $parent =& $refer[$parentId]; $parent[$child][] =& $list[$key]; } } } } return $tree; } /** * select返回的数组进行整数映射转换 * * @param array $map 映射关系二维数组 array( * '字段名1'=>array(映射关系数组), * '字段名2'=>array(映射关系数组), * ...... * ) * @author wuhao * @return array * * array( * array('id'=>1,'title'=>'标题','status'=>'1','status_text'=>'正常') * .... * ) * */ function int_to_string(&$data,$map=array('gender'=>array(1=>'男',0=>'女'),'status'=>array(1=>'正常',-1=>'删除',0=>'禁用',2=>'未审核',3=>'草稿'))) { if($data === false || $data === null ){ return $data; } $data = (array)$data; foreach ($data as $key => $row){ foreach ($map as $col=>$pair){ if(isset($row[$col]) && isset($pair[$row[$col]])){ $data[$key][$col.'_text'] = $pair[$row[$col]]; } } } return $data; }