2010-08-11 197 views
0

我需要将此查询的结果导出为.csv,以便我可以创建图表我只是没有任何想法如何去做,而我仍然半新到PHP感谢任何帮助。将查询导出为CSV

$query="SELECT familyID, Fam_End_Date, Fam_Start_Date, 
     DATEDIFF(date(Fam_End_Date), date(Fam_Start_Date)) 
     AS Days_Between, 
     TIMEDIFF(time(Fam_Start_Date), time(Fam_End_Date)) 
     AS Time_Between 
     FROM family 
     WHERE Fam_End_Date IS NOT NULL 
     AND Fam_Start_Date IS NOT NULL 
     AND year(Fam_Start_Date)='$year'"; 
     $result = mysql_db_query($aidDB, $query, $connection); 

回答

2

尝试遍历结果集并使用fputcsv将行写入文件。 http://php.net/manual/en/function.fputcsv.php

例如:

//continuing from your code above: 
$fp = fopen('file.csv', 'w'); 

while ($row = mysql_fetch_assoc($result)) { 
    fputcsv($fp,$row); 
} 

fclose($fp); 
+0

我加入你的代码,也尝试过安迪的代码,并得到这个错误 警告:fopen(file.csv):未能打开流:权限被拒绝在线19 致命错误:调用未定义的函数:fputcsv()0n第22行 – 2010-08-11 16:04:26

+0

Karl,您正在写入的文件是否存在? (也就是说,您是否已经创建了一个名为“file.csv”的文件? – Irwin 2010-08-11 16:15:23