csv — перемещение указателя по горизонтали с помощью fputcsv в переполнении стека

Я пытаюсь записать 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]));
}

Есть ли способ преодолеть эту проблему. Любая помощь или предложение приветствуется. Спасибо заранее.

-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++;
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]