使用数据库实用程序类将数据从Codeigniter批量导出到CSV [英] Bulk Exporting Data from Codeigniter to CSV using Database Utility Class

查看:97
本文介绍了使用数据库实用程序类将数据从Codeigniter批量导出到CSV的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码:

function export_csv()
{
$st = $this->input->get('st');   //Start Date 
$en = $this->input->get('en');   //End Date

$sTable = 'TABLE_NAME';

$this->load->dbutil();

$aColumns = array('tempdisplayid AS ucid','uui','campaign_name','location','caller_id','skill','calltime','answertime','TIMEDIFF(answertime,calltime) as timetoanswer','endtime','talktime','duration','fallback_rule','dialed_number','type','agent','agent_did','disposition','status','hangup_by','transfer','transfer_to','comments','dial_status','customer_status','agent_status','audio','AgentStatus','CustomerStatus','user_response');

$this->db->select('SQL_CALC_FOUND_ROWS '.str_replace(' , ', ' ', implode(', ', $aColumns)), false);

$query = $this->db->get_where($sTable, array('date(calltime) >=' =>$st,'date(calltime) <=' =>$en));

$new_report = $this->dbutil->csv_from_result($query);

write_file('/csv/records-'.$st.'to'.$en.'.csv', $new_report);

$this->load->helper('download'); 

force_download('records-'.$st.'to'.$en.'.csv', $new_report); 

}

最近30天内有64,145条记录。当我尝试下载链接时,链接失效了。是否有其他方法可以将无限记录批量导出到 csv

There is 64,145 Records in last 30 days. When I try to download the link becomes dead.is there any other method to bulk export unlimited record to csv.

在设置ini_set('max_execution_time',0)之后,我测试了此代码,直到30000;它可以正常工作。

I tested this code upto 30000 after setting ini_set('max_execution_time', 0);It works fine.

除CSV之类的CSV以外的任何东西都可以显示批量记录。 / p>

Anything other than CSV like xls which can show bulk records.

推荐答案

// top of your controller
ini_set('max_execution_time', 0);

// Also you can increase memory
ini_set('memory_limit','2048M');

下载此 helper 并放入 system / helpers /

并最终像这样创建csv

and finally create csv like this

$this->db->select('*'); 
$query = $this->db->get('your_table');
$this->load->helper('csv');
query_to_csv($query, TRUE, 'filename.csv');

这篇关于使用数据库实用程序类将数据从Codeigniter批量导出到CSV的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆