在PHP中使用fputcsv水平移动指针
我正在尝试使用fputcsv将2个数组写入csv文件 但问题是,当写入第二个数组时,它会到达文件的末尾并从那里开始 所以基本上我有这两个部分要写在一个csv文件中,它是以下面的方式写的在PHP中使用fputcsv水平移动指针,php,csv,fputcsv,Php,Csv,Fputcsv,我正在尝试使用fputcsv将2个数组写入csv文件 但问题是,当写入第二个数组时,它会到达文件的末尾并从那里开始 所以基本上我有这两个部分要写在一个csv文件中,它是以下面的方式写的 ID Name1 1 AAA 2 BBB Name2 CCC DDD 我想要什么 ID Name1 Name2 1 AAA CCC 2 BBB DDD 我的代码是 fputcsv($fh, arr
ID Name1
1 AAA
2 BBB
Name2
CCC
DDD
我想要什么
ID Name1 Name2
1 AAA CCC
2 BBB DDD
我的代码是
fputcsv($fh, array("ID","Name1"));
while($row = mysqli_fetch_array($weekly1, MYSQLI_NUM))
{
fputcsv($fh, array($row[0],$row[1]));
}
fputcsv($fh, array("Name2"));
while($row = mysqli_fetch_array($weekly2, MYSQLI_NUM))
{
fputcsv($fh, array($row[1]));
}
有没有办法克服这个问题。欢迎提供任何帮助或建议。请提前感谢。首先,您应该将
ID
和NAME1
存储在一个数组中,并且只有在获得NAME2
保存到csv后:
fputcsv($fh, array("ID","Name1","Name2"));
$rows = array();
while($row = mysqli_fetch_array($weekly1, MYSQLI_NUM))
{
$rows[] = array($row[0],$row[1]));
}
$i = 0;
while($row = mysqli_fetch_array($weekly2, MYSQLI_NUM))
{
fputcsv($fh, array_merge($rows[$i], array($row[1])));
$i++;
}
很抱歉,我看到了把PHP写成phpAhh的反对票。让我试试。谢谢,伙计。如果可能的话,还可以尝试进行一次SQL查询以获取数据,然后您将只执行一次循环,并且可以立即写入csv。是的,我同意,但情况是,我在制作周报/月报时必须编写多个查询。这很复杂:(