par
Mithrandyll » 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();
}
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 ! :)
[PHP]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();
}[/PHP]