我正在使用CodeIgniter v2.2.4導出爲CSV時操作數據?
請考慮以下代碼,以導出/下載代表數據庫查詢結果的CSV文件。
CONTROLLER:
public function export_csv($id = NULL)
{
$this->load->dbutil();
$this->load->helper('download');
$query = $this->my_model->create_csv($id); // call the model
$data = $this->dbutil->csv_from_result($query, ',');
force_download($id . '.csv', $data);
}
MODEL:
public function create_csv($id)
{
$this->db->from('mytable');
$this->db->where('id', $id);
$this->db->select('
id AS `ID`,
full_name AS `Full Name`,
company_name AS `Company Name`,
phone AS `Phone Number`,
select_list AS `User Options`
', FALSE);
return $this->db->get();
}
上面的代碼工作,然而select_list
值爲0
,1
,或2
而這插入CSV導出。如何將這些值操縱爲我最終的CSV文件中更有意義的文本?
例子:
'DB value' => 'insert into CSV'
0 => 'N/A',
1 => 'foo',
2 => 'bar'
獲取數據庫錯誤出於某種原因。錯誤編號:1064 - 您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,在第1行使用'= 1 THEN'foo'WHEN = 2 THEN'bar'ELSE'N/A'END'作爲'用戶選項'''時使用正確的語法 – Sparky
確定你的字段數據類型是什麼。嘗試單引號值例如'WHEN ='1'' – DFriend
數據類型不是問題。 'CASE select_list WHEN = 1'是問題。必須使用'CASE WHEN select_list = 1'。看到我的答案。 – Sparky