我發現了一個類似的問題,但由於缺乏信息而沒有解決方案。 我有低於該代碼從連接的MySQL數據庫的數據輸出到在下面的格式格式化的CSV文件...使用PHP從MySQL數據庫中更改CSV格式的文件
First Name:Surname:GCNumber:Dept:Start Date:Introduction:Theory:Fire Safety:Governance: John:Smith:123456:HR:03/08/2013:Pass:Pass:Fail:Pass: Jane:Watson:123445:IT:03/08/2013:Pass:Fail:Pass:Pass: Mark:Byron:123442:IT:03/08/2013:Fail:Fail:Not Done:Not Done:
:
=只是用來顯示每個柱
它只是輸出所有行和在同一結構中的數據庫中的列,以及重新命名列標題以便在導入到Excel中時更加友好。 我需要的是改變這種輸出到下面的格式...
First Name:Surname:GCNumber:Dept:Email:Start Date:Module:Status: John:Smith:123456:HR:03/08/2013:Introduction:Pass: John:Smith:123456:HR:03/08/2013:Theory:Pass: John:Smith:123456:HR:03/08/2013:Fire Safety:Fail: John:Smith:123456:HR:03/08/2013:Governance:Pass: Jane:Watson:123445:IT:03/08/2013:Introduction:Pass: Jane:Watson:123445:IT:03/08/2013:Theory:Fail: Jane:Watson:123445:IT:03/08/2013:Fire Safety:Pass: Jane:Watson:123445:IT:03/08/2013:Governance:Pass: Mark:Byron:123442:IT:03/08/2013:Introduction:Fail: Mark:Byron:123442:IT:03/08/2013:Theory:Fail: Mark:Byron:123442:IT:03/08/2013:Fire Safety:Not Done: Mark:Byron:123442:IT:03/08/2013:Governance:Not Done:
:
=只是用來表明每列
所以不是每個人一個條目,每個模塊的結果,他們我已經完成了,我需要它是一個單獨的條目,爲每個人所做的模塊。 這個數據庫和35個模塊總共有更多的領域,但我爲了說明的目的在此將其削減。
作爲一個PHP新手等位,我正在努力讓我的頭在如何做到這一點。 這是可能的,還是會更容易嘗試和更改數據庫的結構以所需的格式?
任何幫助或指針在正確的方向將是偉大的。 託尼
<?php
function exportMysqlToCsv($table,$filename = 'db-snapshot.csv')
{
$sql_query = "select fldFirstname as 'First Name',
fldSurname as 'Surname',
fldGMCNumber as 'GCNumber',
fldDestDept as 'Dept',
fldStartDate as 'Start Date',
fldModule1 as 'Introduction',
fldModule2 as 'Theory',
fldModule3 as 'Fire Safety',
fldModule4 as 'Governance'
from $table";
// Gets the data from the database
$result = mysql_query($sql_query);
$f = fopen('php://temp', 'wt');
$first = true;
while ($row = mysql_fetch_assoc($result)) {
if ($first) {
fputcsv($f, array_keys($row));
$first = false;
}
fputcsv($f, $row);
} // end while
$size = ftell($f);
rewind($f);
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Length: $size");
// Output to browser with appropriate mime type, you choose ;)
header("Content-type: text/x-csv");
// header("Content-type: text/csv");
// header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=$filename");
fpassthru($f);
exit;
}
?>
讓我看看你的表格結構和樣品數據....實際上有了這個信息,它會很容易解決這個問題 – Hackerman