我很惊讶使用codeigniter从数据库导出数据。非常感谢帮助。
这是我对此问题的查看代码。
<?php echo form_open(base_url('admin/consignment1/test_con'),
$hiddenFields, 'class="form-horizontal"'); ?>
<td><input type="submit" name="id" value="<?php echo $row['Con_No']; ?>"
class="btn btn-info pull-left"> </td>
控制器
public function test_con(){
$var= $this->input->post('id');
$data['get_con_by'] = $this->consignment_model->get_con_by($var);
$data['view']='admin/consignment1/con_table';
$this->load->view('admin/layout', $data);
}
模型
public function get_con_by($var){
$this->db->from('consignment');
$this->db->where('Con_No',$var);
$query=$this->db->get();
return $result = $query->result_array();
}
在我的视图中显示数据没有问题。当我尝试使用其他功能从模型导出数据时,我得到我的CSV与空数据。这是我在同一型号的控制器上的功能。
public function exportCSV(){
// file name
$filename = 'Con_'.date('Ymd').'.csv';
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/csv; ");
// get data
$usersData = $this->consignment_model->get_con_by($var);
// file creation
$file = fopen('php://output', 'w');
$header = array("ste","Name","Gender","Email");
fputcsv($file, $header);
foreach ($usersData as $key=>$line){
fputcsv($file,$line);
}
fclose($file);
exit;
}
我有另一个模特
public function get_all_pins(){
$query = $this->db->get('consignment');
return $result = $query->result_array();
}
我导出到CSV
没有问题两个scnerio之间的区别是
$usersData = $this->consignment_model->get_con_by($var); // Not working
$usersData = $this->consignment_model->get_all_pins(); // working one.
你能帮我解决这个问题。
答案 0 :(得分:0)
要获得查询的答案,请检查使用
生成的查询$this->db->last_query()
签入生成的查询。它是否与您期望的相同或有任何问题?您可以在phpmyadmin中交叉验证同一查询的输出。
我预见到的唯一问题是生成的查询不会返回任何数据/输出,或者在执行查询时可能会出错。第二个预期较少。但以这种方式调试将帮助您解决实际问题。