Php 如何将Codeigniter中两个连接表的数据转换为CSV文件
我可以将单个表的数据转换为csv文件,但当我加入两个表时,我不会根据用户过滤数据的方式(过滤方式:数据、类型等顺序:asc/desc)转换过滤后的数据,顺便说一句,我下载了一个用于将数据导出为csv文件的帮助文件 这是我的控制器Php 如何将Codeigniter中两个连接表的数据转换为CSV文件,php,mysql,codeigniter,csv,Php,Mysql,Codeigniter,Csv,我可以将单个表的数据转换为csv文件,但当我加入两个表时,我不会根据用户过滤数据的方式(过滤方式:数据、类型等顺序:asc/desc)转换过滤后的数据,顺便说一句,我下载了一个用于将数据导出为csv文件的帮助文件 这是我的控制器 // Export to CSV Controller for CDR $items = $this->call_log_model->csv_asc( $data2,$this->session->userdata('
// Export to CSV Controller for CDR
$items = $this->call_log_model->csv_asc( $data2,$this->session->userdata('user_id') );
query_to_csv($items,TRUE, 'CSV_FILE.csv');
}
public function export_csv_desc(){
$this->load->helper('csv_helper');
$data2 = $this->input->post('viewFilter');
$items = $this->call_log_model->csv_desc($data2,$this->session->userdata('user_id'));
query_to_csv($items,TRUE, 'CSV_FILE.csv');
}
这是我的模型
function csv_asc($data2,$id){
$this->db->select('users.user_firstname, users.user_lastname,cdr.talk_time,
cdr.aftertalk_time,cdr.hold_time,cdr.total_time,cdr.date_created,cdr.phone_number,cdr.classification');
$this->db->from($this->table2);
$this->db->join('users', 'cdr.agent_id = users.user_id', 'left');
$this->db->where('cdr.tenant_id', $id);
$this->db->order_by($data2, $this->order2);
return $this->db->get();
}
function csv_desc($data2,$id){
$this->db->select('users.user_firstname, users.user_lastname,cdr.talk_time,
cdr.aftertalk_time,cdr.hold_time,cdr.total_time,cdr.date_created,cdr.phone_number,cdr.classification');
$this->db->from($this->table2);
$this->db->join('users', 'cdr.agent_id = users.user_id', 'left');
$this->db->where('cdr.tenant_id', $id);
$this->db->order_by($data2, $this->order);
return $this->db->get();
}
这是ajax的代码
$(document).ready(function(){
var order = "";
$('#viewFilter').change(function(){
value = $('#viewFilter :selected').val();
});
$('.filter_AD').change(function(){
value = $('#viewFilter :selected').val();
value2 = $('.filter_AD :selected').val();
if(value2 == 'Ascending'){
order = "ascend";
$.ajax({
url: "<?php echo base_url();?>tenant/view_report/ascend",
method: "POST",
data: {'viewFilter':value},
dataType: 'json',
success:function(data){
$('#cdr_control_holder').html('');
console.log(data);
for(i=0; i<data.length; i++){
html = '';
html+= '<tr>';
html+= '<td>'+data[i]['user_firstname']+' '+data[i]['user_lastname']+'</td>';
html+= '<td>'+data[i]['talk_time']+'</td>';
html+= '<td>'+data[i]['aftertalk_time']+'</td>';
html+= '<td>'+data[i]['hold_time']+'</td>';
html+= '<td>'+data[i]['total_time']+'</td>';
html+= '<td>'+data[i]['date_created']+'</td>';
html+= '<td>'+data[i]['phone_number']+'</td>';
html+= '<td>'+data[i]['classification']+'</td>';
html+= '</tr>';
$('#cdr_control_holder').append(html);
}
}
});
}
if(value2 == 'Descending'){
order = "descend";
$.ajax({
url: "<?php echo base_url();?>tenant/view_report/descend",
method: "POST",
data: {'viewFilter':value},
dataType: 'json',
success:function(data){
$('#cdr_control_holder').html('');
for(i=0; i<data.length; i++){
html = '';
html+= '<tr>';
html+= '<td>'+data[i]['user_firstname']+' '+data[i]['user_lastname']+'</td>';
html+= '<td>'+data[i]['talk_time']+'</td>';
html+= '<td>'+data[i]['aftertalk_time']+'</td>';
html+= '<td>'+data[i]['hold_time']+'</td>';
html+= '<td>'+data[i]['total_time']+'</td>';
html+= '<td>'+data[i]['date_created']+'</td>';
html+= '<td>'+data[i]['phone_number']+'</td>';
html+= '<td>'+data[i]['classification']+'</td>';
html+= '</tr>';
$('#cdr_control_holder').append(html);
}
}
});
}
});
// CSV Button
$('#csv_button').click(function(){
console.log('<?php echo base_url();?>');
if(order == 'ascend'){
$(this).attr( "href" , "<?php echo base_url();?>tenant/view_report/export_csv_asc");
}
if(order == 'descend'){
$(this).attr( "href" , "<?php echo base_url();?>tenant/view_report/export_csv_desc");
}
});
});
$(文档).ready(函数(){
var order=“”;
$('#viewFilter')。更改(函数(){
值=$(“#视图过滤器:选定”).val();
});
$('.filter_AD').change(函数(){
值=$(“#视图过滤器:选定”).val();
value2=$('.filter_AD:selected').val();
如果(值2==‘升序’){
order=“上升”;
$.ajax({
url:“租户/查看报告/上升”,
方法:“张贴”,
数据:{'viewFilter':值},
数据类型:“json”,
成功:功能(数据){
$('#cdr_control_holder').html('');
控制台日志(数据);
对于(i=0;i