gpt4 book ai didi

PHP - Oracle 查询 CSV 创建,在同一行返回结果

转载 作者:搜寻专家 更新时间:2023-10-31 21:42:52 25 4
gpt4 key购买 nike

首先,如果我在这里问的问题很愚蠢,我深表歉意,我试图在网上找到答案,但我似乎无法将搜索词放在简短的单词中(设法回答我的问题).其次,我知道我的问题的答案非常简单,但我对 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

(顶行不一定需要输出多个rep)

然后我可以添加到 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);

然后我会使用 fprintfimplode连续打印它们:

if (!($fp = fopen('file.txt', 'w'))) {
exit;
}
fprintf($fp, "%s\n",implode(",", $arr));

这将输出

Apple,201,Orange,504

对于列名,您所要做的就是获取结果的数量并将它们打印多次。例如,如果有 5 个结果,我会这样做:

fprintf($fp, "%s\n", implode( ",", array_fill( 0, 5, "Code,count(*)" ) ) );

关于PHP - Oracle 查询 CSV 创建,在同一行返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305528/

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