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

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

WBOY
Freigeben: 2016-06-07 11:36:46
Original
1148 Leute haben es durchsucht

查询的数据,通常需要整理,比如: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元

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage