Я пытаюсь записать 2 массива в CSV-файл с помощью fputcsv.
Но проблема в том, что при записи второго массива он переходит в конец файла и начинается оттуда.
Итак, в основном у меня есть эти 2 раздела для записи в CSV-файл, и он пишет следующим образом
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++;
}
Других решений пока нет …