列举了几个常用的查询进行简单封装,虽然系统也有内置的但是很多人不大会就二次封装简化了一下。
**这里只封装了一个条件 多个条件的自己再封装或者用标签解决比较好 这里只是说fun可以万能调用**
## 1**获取任意表的某个字段的值**
我要查询一个内容的字段值怎么查?~~~
fun('wanneng@get_value',2,'cms_content1','picurl')
~~~
查询cms中id 为2的picurl 字段 直接返回这个内容的图片
~~~
fun('wanneng@get_value',2,'cms_content1','view');
~~~
直接返回他的浏览量
可以看出,只要最后一项是数据库中的字段即可返回对应的值,没有多余的查询。
那么极限要求下 返回UID为1的一个内容标题怎么办?(这里仅作为示例 一般不这么查询 一般是查询唯一索引)
~~~
fun('wanneng@get_value',1,'cms_content1','title','uid');
~~~
这样我们就返回了 uid为1的第一条数据的标题 其他字段的值只需要更改 title 即可
条件只需要变更 uid 就可以了。
~~~
fun('wanneng@get_value',20,'cms_content1','title','fid');
~~~
这就是返回fid等于20的一个数据的标题
## 2**某个条件下的全部字段值**
上面的只能返回一个值,那么有时候我们需要很多值的时候就不适合了
[https://x1.php168.com/bbs/show-12541.html](https://x1.php168.com/bbs/show-12541.html)
这里有按id查询的 已经可以满足99.9%的需求了。这里也是顺便封装了一下基本是一样的。
那么这里也可以返回全部的值
~~~
fun('wanneng@get_find',2,'cms_content1');
~~~
这是返回id为2的全部字段值 返回的是一个数组
极限情况下,我不是按id查询能返回码 答案是可以的
~~~
fun('wanneng@get_find',20,'cms_content1','fid');
~~~
我们返回fid等于20的一条数据
可以看出,这个查询 第一项是值 第二项是 数据表 第三项是查询字段 可以为空默认为id
## 4**任意数据表中的全部列**
我想获取一个用户下全部的信息怎么查询?上面的都是只能查询一条 下面的办法可以查询全部数据。
~~~
fun('wanneng@get_select',1,'cms_content1','uid');
~~~
这就是查询uid为1的全部数据
我想查询fid为20的全部数据
~~~
fun('wanneng@get_select',20,'cms_content1');
~~~
可以看出 第一项是查询条件的值 第二个是数据表 第三项是查询的条件 默认为fid可以不写
## 5**任意数据表中某一列的值**
上面的查询已经可以满足很多场景了,再极限的情况下 我想调用一个条件下的某列值 但是我又不想用select
那么也是可以的,这个调用稍微比较复杂一点点,但是使用场景还是比较多的 主要用到是单选 下拉等等
~~~
fun('wanneng@get_column',105,'cms_content1','id,uid,title','view');
~~~
调用 浏览量为105的全部数据,返回的是一个数组 他的键也就是索引就是我们返回信息的主键id值。
第一项为查询的值 第二项为数据库名**第三项为我们返回的列的字段名 第一个必须为主键索引**第三项为查询的字段名
~~~
fun('wanneng@get_column',20,'cms_content1','id,uid,title','fid');
~~~
这些模板都可以用,模板怎么用这里不再普及教学了,上面的这些只是封装示例,自己可以封装为自己喜欢的类型 当然了封装也没啥意义只是使用起来方便一点点。
使用方法 application\common\fun 建立 Wanneng.php
~~~
~~~
<?php
namespace app\common\fun;
use think\Db;
/**
* 万能数据表调用
* Class Wanneng
*/
class Wanneng{
/**
* 任意数据表中的一个字段值 fun('wanneng@get_value',2,'cms_content1','picurl')
* 查询cms中 id为2的标题
* $value=fun('wanneng@get_value',2,'cms_content1','title');
* 查询cms中 id 为2的浏览量
* $value=fun('wanneng@get_value',2,'cms_content1','view');
* 查询cms中 fid 为20的一个内容标题
* $value=fun('wanneng@get_value',20,'cms_content1','title','fid');
* @param $id 查询的值
* @param $table 查询的表
* @param string $type 查询的条件 默认为id 和查询的值是相关的
* @param $name 返回的字段值 默认为title
* @return mixed 查询存在直接返回值 不存在返回 null
*/
public function get_value($id,$table,$name='title',$type="id"){
$map=[];
$map[$type]=$id;
$value=Db::name($table)->where($map)->value($name);
return $value;
}
/**
* 任意数据表中的全部字段值
* 查询cms中 id为2的全部信息
* $value=fun('wanneng@get_find',2,'cms_content1');
* 查询fid为20的一条数据 这个数据是第一条发布的
* $value=fun('wanneng@get_find',20,'cms_content1','fid');
* @param $id 查询的值
* @param $table 查询的表
* @param string $type 查询值的条件
* @return 返回查询字段的全部值 结果不存在返回null
*/
public function get_find($id,$table,$type="id"){
$map=[];
$map[$type]=$id;
$find=Db::name($table)->where($map)->find();
return $find;
}
/**
* 任意数据表中的全部列
* 查询cms中 uid为1的全部信息
* $value=fun('wanneng@get_select',1,'cms_content1','uid');
* 查询fid为20的全部数据
* $value=fun('wanneng@get_select',20,'cms_content1');
* @param $id 查询的值
* @param $table 查询的表
* @param string $type 查询值的条件
* @return 返回全部数据的数组 为空返回空数据
*/
public function get_select($id,$table,$type="fid"){
$select=[];
$map=[];
$map[$type]=$id;
$select=Db::name($table)->where($map)->select();
return $select;
}
/**
* 任意数据表中某一列的值
* 查询cms中 浏览量为105的uid id title
* $value=fun('wanneng@get_column',105,'cms_content1','id,uid,title','view');
* @param $id 查询的值
* @param $table 查询的表
* @param string $name 查询的字段 可以为多个 用,隔开 例如:id,title,picurl 第一项必须为主键索引
* @param string $type 查询的条件
* @return mixed
*/
public function get_column($id,$table,$name='title',$type="id"){
$map=[];
$map[$type]=$id;
$column=Db::name($table)->where($map)->column($name);
return $column;
}
}
~~~
~~~
- 空白目录
- 平日使用的小应用,小技巧.
- 小技巧,二级域名绑定
- 需要的按年月日发帖量和点击排序的使用
- 每周赚取的积分排行使用
- 齐博x1第三季《模板风格的制作》系列
- 导航的高亮处理
- Default下index中的模板分析
- 005-新建一个空模板并在后台选择
- 008-模板页面之间的继承
- 010-对比系统布局模板添加一些必要代码
- 015-栏目的调用3
- 017-栏目的调用5
- 019-模块的路径访问
- 002-前台模板index_style目录的分析
- 004-风格样式资源目录public/static
- 006-增加一个布局模板layout
- 007-用{block}标记来分割布局模板
- 011-加一个导航把系统后台的菜单调出
- 013-栏目的调用1
- 014-栏目的调用2
- 016-栏目的调用4
- 018-栏目的终极方法get_sort
- 020-插件的路径访问
- 神盾工具箱007-标签云
- 标签云上线啦
- 云标签(更新版本1.2)
- 云标签(更新版本1.3)
- 标签云(更新1.4)
- 标签云(更新1.8)
- 标签云(更新3.0)
- 标签云(更新3.1)
- 标签云(更新3.3)
- 齐博x1第一季《新手入门》系列
- 001-下载安装x1
- 002-认识齐博x1的后台
- 003-系统设置之基本设置
- 004-系统设置之会员注册
- 005-系统设置之邮箱接口设置
- 006-系统设置之水印设置
- 007-系统设置之联系方式
- 008-系统设置之短信接口
- 009-系统设置之登录接口
- 010-系统设置之其它设置
- 011-数据库工具
- 012-会员管理
- 013-模块的简单说明
- 014-伪静态的相关设置
- 齐博x1第二季《基本数据操作》系列
- 001-标签的使用
- 002-标签的使用
- 003系统参数的调用
- 004-列表页的内置变量
- 005-内容页的内置变量
- 齐博X1《实用技巧》
- 任意页调用用户的收藏列表
- 巧用字段后面js属性来获取表单内容
- 给标题栏加个按钮,点击获取内容里文字截取一段做标题
- 简单的模块制作说明---初级
- V系列转换程序重新起航 支持v全系列转X系列(v7转换支持添加到搜索)
- 简单插件制作流程---友情链接解说版
- 钩子简单制作-tag加连接解说版
- 织梦转X1程序
- 简单的模块制作说明---进阶篇(更新中)
- 模型字段内容页面调用小技巧
- 水平凡、lvyecms转X1
- fun 函数 来个抛砖引玉 最简单的分类信息显示手机号归属地
- 再来个抛砖引玉 内容页根据关键词调用相关内容 新功能哦!
- 序列号使用图文教程
- OSS有巨大的优惠活动 特此开启一篇免流量教程帖
- 搜索结果调用其他字段的办法
- 关于安装七牛、腾讯、OSS等云储存无法上传提示没参数的解答(必看)
- 鉴于很多人问列表的筛选怎么放到首页、内容页等等地方 贴出方法
- 下面根据运营经验给大家讲下服务器一般配置
- 一段不错的小js提高一点点阅读体验 计算本文阅读所需的时长
- 自定义时间插件更新了!新增编辑的时候自定义时间(已经安装过的请看修改教程
- 制作好的应用导出上架教程
- 支付插件卸载后无法重新安装的解决办法
- 任意位置调用万能表单的方法 顺便借楼说下purl的作用
- 新版圈子店铺类实例和详细接口教程附模板文件
- 新版圈子专题类的数据教程
- 滑动门+下滑加载更多详细图解
- 使用宝塔面板php7.3的用户如果无法安装应用的解决办法
- V系列如果发现被黑的排查方法附修复办法
- 电脑版直播OBS Studio简单教程
- 站内引用添加到编辑器后在编辑器显示错乱?一招告诉你怎么解决
- linux 宝塔面板安装rtmp简陋教程 (已加视频版教程)
- 内容页上传MP3加载播放器简单教程
- 免费的导播台Mshow简单的使用攻略
- 万能fun 调用任意数据表 任意字段就是这么任性调用
- bui框架前端自定义配色基础属性
- 关于自定义时间或者其他钩子安装后无效的一个解决办法
- 网站后台上传的logo图丢失的一个排除解决办法
- 插件如何做前台风格切换的功能详解
- 齐博X1--标签变量大全
- 齐博X1--应用实例收集
- 嵌套-循环栏目,并列出子栏目下的内容
- 齐博X1--+关注,私信,TA的圈子
- 齐博X1--栏目多图字段的循环调用
- 任意位置调用当前用户提交的表单
- 循环栏目并调用栏目信息内容
- 头部底部菜单高亮设置
- 万能表单
- 全站调用验证码
- 万能导出excel数据教程
- 如何重新模块索引