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 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
php 缓存函数代码
Aug 27 PHP
php上的memcache和memcached两个pecl库
Mar 29 PHP
PHP $_FILES函数详解
Mar 09 PHP
百度站点地图(百度sitemap)生成方法分享
Jan 09 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
ThinkPHP之getField详解
Jun 20 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
PHP培训要多少钱
Jun 06 PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
Apr 09 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
Apr 14 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
改造一台复古桌面收音机
2021/03/02 无线电
php获取网站百度快照日期的方法
2015/07/29 PHP
浅谈php7的重大新特性
2015/10/23 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
python Django框架实现自定义表单提交
2016/03/25 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
关于反爬虫的一些简单总结
2017/12/13 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
解决python flask中config配置管理的问题
2019/07/26 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
python字典的值可以修改吗
2020/06/29 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
新闻学专业应届生求职信
2013/11/08 职场文书
全神贯注教学反思
2014/02/03 职场文书
创建学习型党组织实施方案
2014/03/29 职场文书
餐饮投资计划书
2014/04/25 职场文书
24年收藏2000多部退役军用电台
2022/02/18 无线电
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers