FPUTCSV положить массив с циклом for

Эй, я пытаюсь заполнить CSV значениями из моего массива. Как я могу это сделать ?

$sql = "SELECT accountNumber, Name,studentManager,contract,
nationality,university,major,Course,specialNotes,
Phone,email,birthday,uniAddress
FROM " . $dbname . "WHERE id ='$id'";

$query2 = mysqli_query($conn, $sql);
$thisArray = mysqli_fetch_all($query2, MYSQLI_NUM);


header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=userData.csv");
$fp = fopen('php://output', 'w');
foreach ($thisArray[0] as $row3) {
fputcsv($fp,$row3);
}

fclose($fp);

0

Решение

Когда вы получаете данные в $thisArray, он создает массив, где каждая строка является массивом всех значений поля. Поэтому, когда вы используете $thisArray[0] в следующей строке …

foreach ($thisArray[0] as $row3) {

Это просто забирает первую строку данных, которые вы получили. $row3 будет каждое отдельное поле и fputcsv ожидает, что это будет массив.

Просто измените эту строку на

foreach ($thisArray as $row3) {

а также $row3 будет каждая строка данных.

(Просто так есть ответ на это)

0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector