首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

ThinkPHP連表查詢與數據導出Excel實戰:雙表聯合導出學生信息

     編輯:PHP 綜合知識

場景描述

實驗室招新系統需導出學生基本信息表(lab_userinfo)與 OJ 刷題數據表(lab_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,
        lab_oj_data.solved,
        lab_oj_data.Submit,
        lab_oj_data.AC
    ')
    ->where('lab_userinfo.userid=lab_oj_data.userid AND pass=0')
    ->order('lab_oj_data.solved DESC')
    ->select();

表別名簡化

$user = $userinfo->table('lab_userinfo u, lab_oj_data d')
    ->field('u.userid, u.truename, d.solved, d.Submit, d.AC')
    ->where('u.userid=d.userid AND u.pass=0')
    ->order('d.solved DESC')
    ->select();

注意:ThinkPHP 表前綴配置下,除模型調用外需手動添加前綴。

導出Excel

參考專題《PHP實現導出Excel數據的類庫用法示例》,使用 Excel_XML 類將查詢結果數組導出為 .xls 文件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved