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
Dec 13 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
Zend的AutoLoad机制介绍
Sep 27 PHP
自己写了一个php检测文件编码的函数
Apr 21 PHP
初识Laravel
Oct 30 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
PHP中foreach()用法汇总
Jul 02 PHP
php parse_str() 函数的定义和用法
May 23 PHP
PHP验证码类ValidateCode解析
Jan 07 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
PHP实现APP微信支付的实例讲解
Feb 10 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调用Oracle存储过程的方法
2008/09/12 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
33种Javascript 表格排序控件收集
2009/12/03 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
django框架两个使用模板实例
2019/12/11 Python
详解python tcp编程
2020/08/24 Python
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
学习心得体会
2014/01/01 职场文书
《木笛》教学反思
2014/03/01 职场文书
温馨提示标语
2014/06/26 职场文书
创业计划书之服装
2019/10/07 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
关于nginx 实现jira反向代理的问题
2021/09/25 Servers