Export d'un CSV via requête SQL

Eléphanteau du PHP | 23 Messages

06 févr. 2020, 12:47

Je rencontre un petit soucis lors d'un export de csv via une requête SQL. En effet, lorsque j'obtiens mon fichier, il est bourré de code html et je ne comprend pas pourquoi. Je vous poste le code ce dessous, en vous remerciant d'avance pour votre aide ! :)
public function exportInventaireTech($user_id )
    {
        $req = $this->pdo->prepare("
        SELECT produits.*, products_user.product_quantity AS quantite_stock_voiture
        FROM `produits`
        JOIN products_user ON produits.id = products_user.product_id
        WHERE products_user.user_id = 1");

        $req->execute([$user_id]);

        $rows = $req->fetchAll(PDO::FETCH_ASSOC);

        $columnNames = array();

        if (!empty($rows)) {
            $firstRow = $rows[0];
            foreach ($firstRow as $colName => $val) {
                $columnNames[] = $colName;
            }
        }

        header('Content-Type: application/excel');
        header('Content-Disposition: attachment; filename="' .$fileName.'export_product.csv"');

        $fp = fopen('php://output', 'w');

        fputs($fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));

        fputcsv($fp, $columnNames, ";");
        foreach ($rows as $row) {
            fputcsv($fp, $row);
        }
        fclose($fp);

        exit();
    }

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 févr. 2020, 16:27

Sans savoir de quel code HTML il s'agit difficile de te dire.
Si tu l'affiche dans un navigateur ça affiche quoi ?

Ce ne serait pas un message d'erreur à tout hasard ?
Quand tout le reste a échoué, lisez le mode d'emploi...