1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
// Connexion MySQL
// Obligatoire pour la suite !
// la variable qui va contenir les données CSV
$outputCsv = '';
// Nom du fichier final
$fileName = 'export-stocklist.csv';
$requete = "SELECT * FROM catalogue ORDER BY ordre ASC";
$sql = mysql_query($requete);
if(mysql_num_rows($sql) > 0)
{
$i = 0;
while($Row = mysql_fetch_assoc($sql))
{
$i++;
// Si c'est la 1er boucle, on affiche le nom des champs pour avoir un titre pour chaque colonne
if($i == 1)
{
foreach($Row as $clef => $valeur)
$outputCsv .= trim($clef).';';
$outputCsv = rtrim($outputCsv, ';');
$outputCsv .= "\n";
}
// On parcours $Row et on ajout chaque valeur à cette ligne
foreach($Row as $clef => $valeur)
$outputCsv .= trim($valeur).';';
// Suppression du ; qui traine à la fin
$outputCsv = rtrim($outputCsv, ';');
// Saut de ligne
$outputCsv .= "\n";
}
}
else
exit('Aucune donnée à enregistrer.');
// Entêtes (headers) PHP qui vont bien pour la création d'un fichier Excel CSV
header("Content-disposition: attachment; filename=".$fileName);
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: application/vnd.ms-excel\n");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
echo $outputCsv;
exit(); |