Home >php教程 >php手册 >封装的比select更好用的查询方法

封装的比select更好用的查询方法

WBOY
WBOYOriginal
2016-06-07 11:36:461145browse

查询的数据,通常需要整理,比如:status 1成功,2失败,要转成文字描述.于是专门封装一个方法,让查询与整理一步到位.大家觉得我代码风格怎么样?欢迎留言.
先看结果

图上默认是追加,而不是覆盖原字段值,当然,这个是可以选择的.
代码图:
封装的比select更好用的查询方法
封装的比select更好用的查询方法
封装的比select更好用的查询方法
配置文件
封装的比select更好用的查询方法    <br>     /**<br>      * 查询记录<br>      */<br>     public function choose($where=array(), $field='*', $limit='', $order='', $append='txt'){<br>         <br>         if(is_numeric($where)){<br>             $where = array('id'=>$where); $single = true;<br>         }<br>         <br>         if(is_array($limit)){<br>             if(isset($limit['start'])){<br>                 $this->limit($limit['start'], $limit['length']);<br>             }else{<br>                 $this->page($limit['page'], $limit['size']);<br>             }<br>         }<br>     <br>         $options = $this->field($field)->join($join)->where($where)->order($order)->_parseOptions();//保留查询参数以备用<br>         $record = $this->setProperty('options', $options)->alias('my')->select();<br>         if(stripos(',', $field) === false &&  preg_match('/.*\(.+\)/', $field)){<br>             return array_shift(current($record));<br>         }<br>         if(empty($record)) return $record;<br>         <br>         foreach($record as &$row){<br>             foreach($row as $field => $value){<br>                 if(is_string($append)){<br>                     $_append = $append;<br>                 }else{<br>                     $_append = isset($append[$field])? $append[$field] : (isset($append[0])? $append[0] : 'txt');<br>                 }<br>                 if(!empty($_append)) $_append = '_'.$_append;<br>                 $text = field_text($options['table'], $field, $value, $row, true);<br>                 if($text !== null) $row[$field . $_append] = $text;<br> <br>             }<br>         }<br>         <br>         return empty($single)? $record : $record[0];    //单条记录<br>     <br>     }<br> <br> <br> <br> /**<br>  * 表字段转文字说明<br>  * @param unknown $table 表名<br>  * @param unknown $field 字段名<br>  * @param unknown $value 字段值<br>  * @param unknown $same 为空时,是否返回原始值<br>  * @return string 文本值<br>  */<br> function field_text($table, $field, $value, $row=array(), $default=true){<br> <br>     $config = C('FIELD_OPTIONS');<br>     if(!isset($config[$table][$field])) return null;<br>     if(!is_array($row)){<br>         $default = $row; $row = array();<br>     }<br>     if(is_callable($config[$table][$field])){<br>         $func = $config[$table][$field];<br>         $return = $func($row);<br>     }else{<br>         $return = isset($config[$table][$field][$value])? $config[$table][$field][$value] : (is_string($default)? $default : ($default? $value : ''));<br>     }<br>     return $return;<br> <br> }

AD:真正免费,域名+虚机+企业邮箱=0元

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn