首页 > php教程 > php手册 > 正文

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

php中文网
发布: 2016-06-07 11:36:46
原创
1261人浏览过

查询的数据,通常需要整理,比如: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'=&gt;$where); $single = true;<br>         }<br>         <br>         if(is_array($limit)){<br>             if(isset($limit['start'])){<br>                 $this-&gt;limit($limit['start'], $limit['length']);<br>             }else{<br>                 $this-&gt;page($limit['page'], $limit['size']);<br>             }<br>         }<br>     <br>         $options = $this-&gt;field($field)-&gt;join($join)-&gt;where($where)-&gt;order($order)-&gt;_parseOptions();//保留查询参数以备用<br>         $record = $this-&gt;setProperty('options', $options)-&gt;alias('my')-&gt;select();<br>         if(stripos(',', $field) === false &amp;&amp;  preg_match('/.*\(.+\)/', $field)){<br>             return array_shift(current($record));<br>         }<br>         if(empty($record)) return $record;<br>         <br>         foreach($record as &amp;$row){<br>             foreach($row as $field =&gt; $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元

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号