Thinkphp连表查询及数据导出方法示例


Posted in PHP onOctober 15, 2016

本文实例讲述了Thinkphp连表查询及数据导出的方法。分享给大家供大家参考,具体如下:

这今天实验室的招新工作就要展开了,我们通过实验室网站关联到杭电OJ,大一的新生将他们杭电的用户名在实验室网站提交,网站就会通过网络爬虫到杭电OJ上面进行数据抓取存到实验室数据库。

现在我要做的事就是把新生表和新生OJ数据表联合导出。实验室网站是用thinkphp框架开发的。所以根据以前的工作经验。问题很快就解决了。

现在跟大家分享一下。

thinkphp的扩张类都是放在ORG目录下面,在通过import()函数调用连表查看可以用高级试图模式,也可以不用。

//不用高级视图模式。
//两张表,userinfo和oj_data
//导出学生信息
$user = $userinfo->table('lab_userinfo,lab_oj_data')
->field(
'lab_userinfo.userid,
lab_userinfo.truename,
lab_userinfo.year,
lab_userinfo.sex,
lab_userinfo.subject,
lab_userinfo.email,
lab_userinfo.date,
lab_oj_data.username as username,
lab_oj_data.solved as solved,
lab_oj_data.Submit as Submit,
lab_oj_data.AC as AC')
->where('lab_userinfo.userid=lab_oj_data.userid and pass=0')->order('lab_oj_data.solved desc')
->select();

需要注意的是。在thinkphp框架的配置中设置了数据表前缀的,一定要注意,在除了模型调用会自动添加前缀,其他的都要手动加上。

学过SQL的都知道,sql语句允许表的别名使用。

所以我们再table()声明使用表的时候,我们可以进行别名

table('lab_userinfo userinfo,lab_oj_data data');

这个跟SQL 语句不一样就在给表取别名的时候不用AS。

再就是数据导出问题,可参考前面的文章《PHP实现导出excel数据的类库用法示例》

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 PHP
php文件缓存类汇总
Nov 21 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
Oct 09 PHP
CI框架支持$_GET的两种实现方法
May 18 PHP
php 变量引用与变量销毁机制详细介绍
Dec 05 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
PHP array_reduce()函数的应用解析
Oct 28 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
Apr 09 PHP
PHP实现导出excel数据的类库用法示例
Oct 15 #PHP
PHP数组操作简单案例分析
Oct 15 #PHP
PHP链表操作简单示例
Oct 15 #PHP
PHP在线打包下载功能示例
Oct 15 #PHP
PHP文件上传处理案例分析
Oct 15 #PHP
PHP小偷程序的设计与实现方法详解
Oct 15 #PHP
基于php判断客户端类型
Oct 14 #PHP
You might like
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
详解参数传递四种形式
2015/07/21 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
[01:33:07]VGJ.T vs Newbee Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
Ruby如何创建一个线程
2013/03/10 面试题
董事长职责范文
2013/11/08 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
求职自我评价范文100字
2014/09/23 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
维稳承诺书
2015/01/20 职场文书
债务追讨律师函
2015/06/24 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
党性修养心得体会2016
2016/01/21 职场文书