gpt4 book ai didi

php - 导出到 CSV 时要操作数据吗?

转载 作者:行者123 更新时间:2023-11-29 11:17:20 25 4
gpt4 key购买 nike

我正在使用 CodeIgniter v2.2.4

考虑以下代码来导出/下载表示数据库查询结果的 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 );
}

型号:

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 值为 012,那就是插入到 CSV 导出中。如何将这些值处理为最终 CSV 文件中更有意义的文本?

示例:

'DB value' => 'insert into CSV'
0 => 'N/A',
1 => 'foo',
2 => 'bar'

最佳答案

最简单的方法是使用这样的 select 语句

$this->db->select(
"id AS `ID`,
full_name AS `Full Name`,
company_name AS `Company Name`,
phone AS `Phone Number`,
CASE select_list WHEN = 1 THEN 'foo' WHEN = 2 THEN 'bar' ELSE 'N/A' END
AS `User Options`", FALSE);

取消!这是错误的。

当在CASE后面使用可选的表达式时,应如下所示,即CASE select_list ...

$this->db->select(
"id AS `ID`,
full_name AS `Full Name`,
company_name AS `Company Name`,
phone AS `Phone Number`,
CASE select_list WHEN 1 THEN 'foo' WHEN 2 THEN 'bar' ELSE 'N/A' END
AS `User Options`", FALSE);

我在第一个(不正确的)示例中混合了语句可以使用的不同形式。

关于php - 导出到 CSV 时要操作数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39518010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com