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语法(4)
Oct 09 PHP
header跳转和include包含问题详解
Sep 08 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
深入for,while,foreach遍历时间比较的详解
Jun 08 PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 PHP
destoon实现公司新闻详细页添加评论功能的方法
Jul 15 PHP
ThinkPHP权限认证Auth实例详解
Jul 22 PHP
PHP浮点数的一个常见问题
Mar 10 PHP
php HTML无刷新提交表单
Apr 05 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP的PDO预处理语句与存储过程
Jan 27 PHP
PHP的简单跳转提示的实现详解
Mar 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
php 方便水印和缩略图的图形类
2009/05/21 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
React中如何引入Angular组件详解
2018/08/09 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
Python连接phoenix的方法示例
2017/09/29 Python
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
医院门卫岗位职责
2013/12/30 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
工作表扬信
2015/01/17 职场文书
小升初自荐信范文
2015/03/05 职场文书
人事任命通知书
2015/04/21 职场文书
主婚人致辞精选
2015/07/28 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
小学英语教学反思范文
2016/02/15 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL