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获取类中常量,属性,及方法列表的方法
Apr 09 PHP
PHP 数组教程 定义数组
Oct 23 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
php实现mysql数据库操作类分享
Feb 14 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
PHP更安全的密码加密机制Bcrypt详解
Jun 18 PHP
实例讲解PHP页面静态化
Feb 05 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
Oct 30 PHP
YII框架http缓存操作示例
Apr 29 PHP
php写入文件不覆盖的实例讲解
Sep 17 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和XSL stylesheets转换XML文档
2006/10/09 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
Apache中php.ini的设置方法
2013/02/28 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
2017/06/09 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
Prototype Selector对象学习
2009/07/23 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
Javascript随机标签云代码实例
2016/06/21 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
vue构建动态表单的方法示例
2018/09/22 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
python实现壁纸批量下载代码实例
2018/01/25 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python 线程池用法简单示例
2019/10/02 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
后进生转化工作制度
2014/01/17 职场文书
幼儿园小班评语
2014/04/18 职场文书
2014年创卫工作总结
2014/11/24 职场文书
主持人开幕词
2015/01/29 职场文书