所以这是我的数据库设计
tbl.fileparent (fp_id, fp_name) //e.g dress_A
tbl.properties (prop_id, prop_name) //e.g color, size
tbl.details (details_id, fp_id (FK), prop_id (FK), values) //e.g dress_A color:red, size:M
我需要创建一个将这3个tbls组合在一起的csv文件。 我知道我们需要执行类似的事情:
SELECT a.fp_name, b.prop_name, c.values FROM tbl.fileparent a, tbl.properties b, tbl.details c WHERE c.fp_id=a.fp_id AND c.prop_id=b.prop_id
但它会产生类似的东西
|fp_name | prop_name | values |
|dress_A | color | red |
|dress_A | size | M |
我需要使表输出(csv)格式变得像这样
|fp_name | color | size |
|dress_A | red | M |
可能吗?
由于
答案 0 :(得分:0)
CSV就像文本文件,但列除以例如逗号。 要做到这一点,你必须获取所有日期并在循环中创建字符串,其中开始部分定义列名称。
例如:
$csv = "fp_name,color,size\n";
foreach ($data_from_db as $element)
{
$csv .= $element->fp_name.",".$element->color.",".$element->size."\n";
}
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=file_name.csv;" );
header("Content-Transfer-Encoding: binary");
echo($csv);
现在,您可以下载文件并导入到fe。分隔符为逗号的Excel。