Le but de ce script est de pouvoir exporter le résultat d’une requête mysql dans un fichier au format CSV avec les entêtes de colonnes.
<? /** * Exporter une requête mysql dans un fichier csv * Fait le 3-07-2013 par EDMC73 */ // Connexion à la base de données : server, user, password, db $db = new mysqli('localhost','root','Motdepasse','maBase'); // Séparateur de champ $separateur=";"; // Nom du fichier de sortie $filename="export_".date('Ymd-His').".csv"; // Requête à exporter $req="SELECT nom as Nom, prenom as Prenom, ville as Ville FROM user"; /* == MAIN ================================================================================================= */ $res=$db->query($req); $out=""; while($val=$res->fetch_field()) $out.=$val->name.$separateur; $out=substr($out, 0,-1)."\n"; while($val=$res->fetch_row()){ $ligne=""; foreach ($val as $k=>$v) $ligne.= str_replace($separateur, ' ', $v).$separateur; $out.=substr($ligne, 0,-1)."\n"; } $db->close(); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.$filename); flush(); echo $out; ?>