博主信息
博文 46
粉丝 2
评论 0
访问量 30141
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
1、Thinkphp 数据库 高级查询练习 2、thinkphp 请求练习
P粉314265155
原创
638人浏览过

Thinkphp 数据库 高级查询练习 thinkphp 请求练习

`
// 访问路径 http://bite.com/Index.php/index/two
public function two(){
// 1 where 条件
// 等号 = 如果是 =可以省略第二个参数 < > >= <=
// $user = Db::table(‘lh_user’) -> where(‘uid’,3) -> select ();

  1. // $user = Db::table('lh_user') -> where('uid', '>',3) -> select ();
  2. // print_r($user);
  3. // 1.2 模糊查询 LIKE 不是 = 不能把直接写的值 必须处理

// $user = Db::table(‘lh_user’) -> where(‘name’,’like’,’小狗’) ->select();
// print_r($user);
// % 可以代替任意的文本任意的长度 可以放到 狗的前面侯曼
// 如果不知道 查询位置 两边都要加 %
// $user = Db::table(‘lh_user’) -> where(‘name’,’like’,’%狗’) ->select();
// print_r($user);
// 1.3 notlike 模糊查询 不包含的
// $user = Db::table(‘lh_user’) -> where(‘name’,’notlike’,’%狗’) ->select();
// print_r($user);
// 1.4 BETWEEN 区间查询 notbetween 区间取反
// $user = Db::table(‘lh_user’) -> where(‘uid’,’between’,’3,10’) ->select();
// print_r($user);

// 1.5、 IN 指定查询 notin
// $user = Db::table(‘lh_user’) -> where(‘uid’,’in’,’3,4’) ->select();
// print_r($user);
// 1.6 <> 不等于
// $user = Db::table(‘lh_user’) -> where(‘uid’,’<>’,’3’) ->select();
// $user = Db::table(‘lh_user’) -> where(‘uid’,’<>’,’3,4’) ->select();
// print_r($user);

// 2、 field 返回值 只返回 uid name
// $user = Db::table(‘lh_user’) -> field(‘uid,name’) ->select();
// print_r($user);
// 可以使用数组的形式传值
// $arr= [
// ‘uid’,
// ‘name’,
// ];
// 改变下标的名称
// $arr= [
// ‘uid’ =>’dd’,
// ‘name’ => ‘me’,
// ];
// $user = Db::table(‘lh_user’) -> field($arr) ->select();
// print_r($user);

// 2.1 如果 字段比较多 其中几个不变 可以使用更加便捷的方法 withoutField 剔除一些查询数据

// $arr= [
// ‘uid’,
// ‘name’,
// ‘phone’,
// ];
// $user = Db::table(‘lh_user’) -> withoutField($arr) ->select();
// print_r($user);

// 3、 order 排序 order by 倒序 正序
// 参数 1 字段名 参数 2 排序类型 desc asc
// 倒序 从大到小
// $user = Db::table(‘lh_user’) -> order(‘uid’ ,’DESC’) ->select();
// 正序 从小到大
// $user = Db::table(‘lh_user’) -> order(‘uid’ ,’ASC’) ->select();
// 第一排序 第二排序
// $user = Db::table(‘lh_user’) -> order(‘last_time’ ,’ASC’)-> order(‘uid’ ,’ASC’) ->select();
// print_r($user);
// 4、以上学习的db 方法 可以一起使用 :链式操作
// $user = Db::table(‘lh_user’) -> field(‘uid,name’)->where (‘uid’,’>’,3) -> order(‘last_time’ ,’ASC’)-> order(‘uid’ ,’ASC’) ->select();
// print_r($user);
// 5、可以返回最后执行的 mysql原生语句 getlastSql

// $user = Db::table(‘lh_user’) -> field(‘uid,name’)->where (‘uid’,’>’,3) -> order(‘last_time’ ,’ASC’)-> order(‘uid’ ,’ASC’) ->select();
// echo Db:: getlastSql();
// echo’<hr>‘;
// print_r($user);

// 6、Db语句不执行 只返回 mysql 原生语句
// $user = Db::table(‘lh_user’) -> field(‘uid,name’)->where (‘uid’,’>’,3) -> order(‘last_time’ ,’ASC’)-> order(‘uid’ ,’ASC’)->fetchSql() ->select();
// 比如 对数据库 添加、修改、对数据可以进行修改的 语句 可以先看下语句
// print_r($user);

// 7、分页 limit
// 第一个参数 是从多少条
// 第二个参数 取出多少条
// $user =Db::table(‘lh_user’)->limit(5,3)->select();
// print_r($user);
// 1个参数 取出多少条 默认 从 uid 第一个
// $user =Db::table(‘lh_user’)->limit(3)->select();
// print_r($user);

// 得出
// $p =$_GET(‘p’); 第一次接受 0 第二次 是 $p5 ….
// $p =$p
5;
// $user =Db::table(‘lh_user’)->limit($p,5)->select();

// 8、TP自带分页 page()方法 两个参数
// 第一个 参数 第几页
// 第二个参数 取出 多少条
// 第一页
// $user =Db::table(‘lh_user’)->page(1,5)->select();
// print_r($user);
// 第二页
// $user =Db::table(‘lh_user’)->page(2,5)->select();
// print_r($user);

// 9、聚合查询
// lh_user 要知道这个表里面多少数据
// 9.1 count () 计算总共多少数据 推荐
// $user =Db::table(‘lh_user’)->count();
// print_r($user);

// php方法
// $user =Db::table(‘lh_user’)->select() -> toArray();
// echo count($user);
// print_r($user);

// 9.2 9.3 最大 最小值 max min
// 排行版 就可以用这个完成,和count()配合使用

// $user =Db::table(‘lh_user’)->max(‘uid’);
// $user =Db::table(‘lh_user’)->min(‘uid’);
// print_r($user);

// 10 、 where 多条 AND 满足左右两边的条件
// $user =Db::table(‘lh_user’)->where(‘uid’,’>’,3) ->where(‘uid’,’<’,8) -> select();
// echo Db:: getlastSql();
// print_r($user);

// $user =Db::table(‘lh_user’)->where([
// [‘uid’,’>’,3],
// [‘uid’,’<’,6]
// ]) -> select();
// echo Db:: getlastSql();
// print_r($user);

// 11、 or 提供了 whereOr方法
// 这里可以多个条件
// $user =Db::table(‘lh_user’)->where(‘uid’,’=’,3) ->whereOr(‘uid’,’=’,8) -> select();
// echo Db:: getlastSql();
// print_r($user);
// 写成数组或者 多个whereOr 都支持
// $user =Db::table(‘lh_user’)->where(‘uid’,’=’,3) ->whereOr(‘uid’,’=’,2)->whereOr(‘uid’,’=’,1) -> select();
// echo Db:: getlastSql();
// print_r($user);

// 12、时间查询 whereTime方法提供了日期和时间字段的快捷查询

// 12 、访问 其他数据库的表,多数据库操作、
// $user = Db::connect(‘dsp’)->table(‘lh_user’) ->select();
// echo Db:: getlastSql();
// print_r($user);

// 13 、数据处理
// 13.1 toArray 把返回的数据
// $user = Db::connect(‘dsp’)->table(‘lh_user’) ->select()->toArray();
// echo Db:: getlastSql();
// print_r($user);
// 13.2 isEmpty 判断 数据是否为 空
// $ret = Db::table(‘lh_user’) ->where(‘uid’,1)->select();
// 如果是对象 isEmpty 判断
// if($ret -> isEmpty()){
// echo ‘结果为空’;
// }else{
// echo ‘结果不为空’;
// }
// 如果是 数组 empty 判断
// if(empty($ret)){
// echo ‘结果为空’;
// }else{
// echo ‘结果不为空’;
// }

// 13.3 合并其他数据 merge 支持不同数据库 不同表结果的合并
// $ret1 = Db::table(‘lh_user’) ->where(‘uid’,1)->select();
// $ret2 = Db::table(‘lh_user’) ->where(‘uid’,2)->select();
// $ret = $ret1->merge($ret2);
// print_r($ret);

// 13.4 数据集 https://www.kancloud.cn/manual/thinkphp6_0/1037576
// pop 删除最后一个元素
// shift 删除第一个元素
// unshift 在开头插入一个元素

// $ret = Db::table(‘lh_user’)->select();
// print_r($ret ->where(‘uid’,2));

// 14、 name 的参数就是表名
// 与table的区别在 config/database.php 中prefix 表前缀的区别
// name 可以简写 不写表前缀 但是一定要配置
// table不能使用表前缀 ,建议使用 table 、
// $ret = Db::name(‘user’)->select();
// print_r($ret);

// time() -3060 30分钟之前的时间戳
// $time = time() -30
60 ;
// $delete = Db::table(‘lh_user’) ->where(‘last_time’,’<’,$time)->delete();

// 15、 请求 https://www.kancloud.cn/manual/thinkphp6_0/1037519
// print_r($_GET); //全局变量 安全问题未考虑
// tp 把请求做了一个类 Request 更安全 使用时 要引入门面类 use think\facade\Request;
// print_r(Request::get()) ;
// use think\Request; 普通类 需要依赖注入 new等
// use think\facade\Request; 门面类 静态的 推荐 简单方便

// print_r(Request::param())
// post可以接收 post
// http://www.bite.com/index.php/index/two 是一个简单的接口
// 我们要把php写成接口 给前端使用
// $name= Request::post();
// echo $name;
// print_r($name);
// 结果
// Array
// (
// [id] => 111
// [name] => lh
// )
// 前端人员,可能是 用户/坏人/竞争对手 不知道会给你传什么数据
// 需要自己剔除非法数字
// /d 修饰符 接收到的数值变为 整数
// /s 接收到的数值变为字符串
// /b 接收到的数值变为布尔
// /a 接收到的数值变为数组
// /f 接收到的数值变为浮点
// $post= Request::post(‘id/d’);
// print_r($post);

}

`

批改老师:PHPzPHPz

批改状态:合格

老师批语:Tp的两次作业检查一下,markdown中代码块的使用
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学