Экспорт MySQL в CSV с помощью PHP

Как реализовать экспорт в CSV, но без записи в файл, а скачиванием? Принцип такой: человек на сайте нажимает кнопку "Экспорт", потом берутся данные из таблицы (SELECT * FROM requests WHERE status = 'В процессе'), и файл export.csv скачивается


Ответы (1 шт):

Автор решения: Slava Rozhnev

После исполнения SLQ запроса выводим заголовки скачивания файла и в цикле построчно выводим его содержимое.

<?php
    
    
    $result = $mysqli->query("SELECT * FROM requests WHERE status = 'В процессе'");
        
    if ($result) {
       header('Content-Type: text/csv');
       header('Content-Disposition: attachment; filename="pedidos.csv"');
        
       while ($row=$result->fetch_assoc()) {
            echo implode(',', $row);
            echo "\n";
        }
    }

Пример кода PHPize.online

→ Ссылка