[英]PHP - Oracle query CSV creation, return results on same row
首先,如果我在這里提出的問題是愚蠢的,我很抱歉,我試圖在網上找到答案,但我似乎無法將搜索詞放在一個簡短的單詞中(設法回答我的問題)。 其次,我知道我的問題的答案非常簡單,但我對PHP / Scripting相當新,並且在嘗試尋找解決方案時花了好幾個小時。
我有一個PHP腳本查詢Oracle數據庫,輸出到CSV文件然后通過電子郵件發送給我。 這很好,除了我想要查詢輸出到單行的所有結果。
我想設置一個運行多個查詢的自動化(每個查詢大約5-10行),以輸出到CSV文件。 php文件的摘錄如下:
$csvLength = fputcsv($tmp, array(
'Code',
'count(*)'
));
while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC))
{
$csvLength += fputcsv($tmp, array(
$row['Code'],
$row['COUNT(*)']
));
}
rewind($tmp);
$csvContent = fread($tmp, $csvLength);
fclose($tmp);
這將寫一個CSV文件,其輸出如下:
Code,count(*)
APPLE,201
ORANGE,504
BANANA,864
我想要的輸出是這樣的:
Code,count(*),Code,count(*),Code,count(*)
APPLE,201,ORANGE,504,BANANA,864
(頂行不一定需要輸出多個代表)
然后我可以添加到php腳本以包含更多查詢,以便創建的csv文件最終會像這樣:
Run blah.php from dates 21/11/2011 to 27/11/2011...
Code,count(*),Code,count(*),Code,count(*)
APPLE,201,ORANGE,504,BANANA,864
Reason,count(*),Reason,count(*),Reason,count(*)
Rotten,10,Bruised,42,Fermented,67
Region,count(*),Region,count(*),Region,count(*)
Oddtown,503,Newtown,204,Averagetown,631
提前感謝能夠回答我問題的任何人。 我可以想象答案可能很簡單,但我嘗試的任何東西似乎都給我錯誤,我似乎無法在任何地方找到答案。
我將結果放在一個數組中:
$arr = array('Apple', '201', 'Orange', 504);
if (!($fp = fopen('file.txt', 'w'))) {
exit;
}
fprintf($fp, "%s\n",implode(",", $arr));
這將輸出
蘋果,201,橙色,504
對於列名,您所要做的就是獲取結果數並多次打印它們。 例如,如果有5個結果我會這樣做:
fprintf($ fp,“%s \\ n”,implode(“,”,array_fill(0,5,“Code,count(*)”)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.