Page 1 sur 1

PHP : exporter une table MySQL vers un fichier Excel

Posté : 06 avr. 2016, 18:31
par trident80
Bonjour à tous,

Je dois exporter les données d'une table mysql en format excel (csv). J'utilise ce petit script.

L'excel s'ouvre bien, en revanche les valeurs qui s'affichent dans l'excel sont les messages d'erreurs suivants #-o

Code : Tout sélectionner

<br /> <b>Warning</b>: mysqli_close() expects exactly 1 parameter, 0 given in <b>C:\xampp\htdocs\projet_cci_annee\excel1.php</b> on line <b>8</b><br /> <br /> <b>Notice</b>: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' in <b>C:\xampp\htdocs\projet_cci_annee\excel1.php</b> on line <b>10</b><br /> <br /> <b>Warning</b>: mysqli_fetch_array() expects parameter 2 to be long, string given in <b>C:\xampp\htdocs\projet_cci_annee\excel1.php</b> on line <b>10</b><br />

Code : Tout sélectionner

<?php include_once "connexion.php"; //on exporte la table sous forme d'un tableau de la requete précedante $result = mysqli_query($database, "SELECT * FROM Questionnaire" ) or die('Erreur SQL !<br />'.$requete.'<br />'.mysqli_error()); mysqli_close(); $montablo = array(); while($row = mysqli_fetch_array($result, MYSQL_NUM)) { $montablo[] = implode("t", $row); } // on formate le fichier CSV $montablo = implode("rn", $montablo); $datestamp = date("Y-m-d"); $filename = $datestamp."_table.csv"; // on insère les en-têtes Excel header("Content-Disposition: attachment; filename=$filename"); header("Content-Type: application/vnd.ms-excel"); // et on exporte le fichier echo $montablo; ?>
Merci d'avance.

Re: PHP : exporter une table MySQL vers un fichier Excel

Posté : 06 avr. 2016, 20:12
par @rthur
Bonjour,

Ces messages d'erreurs sont pourtant très explicites !

Traduis les nous en français et dit nous ce que tu en comprends.

Re: PHP : exporter une table MySQL vers un fichier Excel

Posté : 06 avr. 2016, 23:17
par trident80
Oui en effet j'ai compris mon erreur, il suffit de lire le manuel php :)

Voila mon code final, qui fonctionne.

Code : Tout sélectionner

<?php include_once "connexion.php"; //on exporte la table sous forme d'un tableau $result = mysqli_query($database, "SELECT TitQuest FROM Questionnaire" ) or die('Erreur SQL !<br />'.$requete.'<br />'.mysqli_error()); mysqli_close($database); $montablo = array(); while($row = mysqli_fetch_array($result, MYSQLI_NUM)) { $montablo[] = implode("t", $row); } // on formate le fichier CSV $montablo = implode(" \r\n", $montablo); $datestamp = date("Y-m-d"); $filename = $datestamp."_table.csv"; // on insère les en-têtes Excel header("Content-Disposition: attachment; filename=$filename"); header("Content-Type: application/vnd.ms-excel"); // et on exporte le fichier echo $montablo; ?>