2016-01-19 46 views
1

我想輸出的查詢結果爲CSV文件,使用csv_from_result,但由於某些原因,它只是呼應了字段名,而不是完整的結果,就像這樣: "code","heb_name","eng_name","intro","heb_code","rank"笨的csv_from_result只返回字段名

這是我使用的代碼,基於CI文檔here

$query = $this->db->query($sql); 

if($query->result()) { 
    $this->load->dbutil(); 

    $delimiter = ","; 
    $newline = "\r\n"; 

    echo $this->dbutil->csv_from_result($query, $delimiter, $newline); 
} 

$sql保存查詢語法,但我不在這裏給它,因爲我得到即使最簡單的"SELECT * FROM table"查詢相同的結果。

查詢本身確實返回完整的結果。當我傾銷$query->result_array()時,我得到了預期的結果數組。

我在這裏錯過了什麼?

回答

0

我個人比較喜歡PHPExcel。確保你設置了正確的標題和編碼。試試這個:

$this->load->dbutil(); 
$query = $this->db->query($sql); 

if($query->result()) { 

    $delimiter = ","; 
    $newline = "\r\n"; 

    header ("Content-disposition: attachment; filename=csv_file" . time() . ".csv") ; 
    echo mb_convert_encoding($this->dbutil->csv_from_result($query, $delimiter, $newline), "ISO-8859-1", "UTF-8"); 
} 
+0

謝謝。但是添加編碼轉換和設置標頭並沒有改變任何東西。我仍然只獲取字段名稱,沒有內容。 – einav