Codeigniter, принудительная загрузка возвращает данные, а не панель загрузки

Я хочу экспортировать мои данные из базы данных в CSV. Вот мой код

public function export_product_to_csv()
{
$response = new stdClass();
$response->success = TRUE;
$response->message = "Terjadi kesalah saat proses export. Silakan hubungin administartor";
$this->load->dbutil();
$this->load->helper('file');
$this->load->helper('download');
$delimiter = ",";
$newline = "\r\n";
$filename = "list_item.csv";
$query = "SELECT * FROM `list_item` ";
$result = $this->db->query($query);
$data = $this->dbutil->csv_from_result($result, $delimiter, $newline);
$download = force_download($filename, $data);
if ($download) {
$response->message = "Export Berhasil ";
$response->link = $this->generate_activity_link("view_product_management","Export Product");
$response->success = TRUE;
} else {
$response->message = "Gagal . Query salah.";
}
return $response;
}

Но когда я выполняю код, он возвращается

«item_id», «item_code», «type_id», «ref_number», «item_name», «price», «qty_perpack», «label_code», «client_id» «1», «RL30CM», «5», «», «Pengaris 30 Cm», «1500», «150», «TX30CM», «0», «2», «VP00», «5», «», «Ventplug dengan karet», «2000», «2000», «TXVP0», «1», «3», «PP Merah», «1», «», «Bahan coba», «15000», «», «», «0», «4», «TNVA», » 5 «,» «,» Antena Tv «,» 15000 «,» 1000 «,» TXTVNA «,» 2 «,» 5 «,» YZHAA «,» 5 «,» «,» Test barang «,» 1500 «, «1000», «ТЕСТ», «2», «6», «YHASA», «5», «», «Pengaris 20 Cm», «2000», «1000», «UZYA», «2», «7» , «PP Hitam», «1», «», «PP Hitam», «15000», «», «», «0» «8», «PP002», «1», «», «Biji plastik hijau «,» 200000 «,» «,» PPGR «,» 2 «,» 9 «,» BBW «,» 4 «,» «,» Bubble Wrapper «,» 75000 «,» «,» «,» 0 «

не скачать панель. Помогите мне, пожалуйста

1

Решение

Используйте этот метод и организуйте его в соответствии с вашими требованиями. Я использовал его много раз, и он работал на меня все время

//get records from database
$query = $db->query("SELECT * FROM list_item ORDER BY id DESC");

if($query->num_rows > 0){
$delimiter = ",";
$filename = "file_name_" . date('Y-m-d') . ".csv";

//create a file pointer
$f = fopen('php://memory', 'w');

//set column headers
$fields = array('ID', 'Name', 'Email', 'Phone', 'Created', 'Status');
fputcsv($f, $fields, $delimiter);

//output each row of the data, format line as csv and write to file pointer
while($row = $query->fetch_assoc()){
$status = ($row['status'] == '1')?'Active':'Inactive';
$lineData = array($row['id'], $row['name'], $row['email'], $row['phone'], $row['created'], $status);
fputcsv($f, $lineData, $delimiter);
}

//move back to beginning of file
fseek($f, 0);

//set headers to download file rather than displayed
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="' . $filename . '";');

//output all remaining data on a file pointer
fpassthru($f);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector