Script création CSV
dragonfire59
Messages postés
179
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
Ayant créer un formulaire PHP, mon tuteur m'a demandé de créer un script permettant de créer un fichier CSV et y stocké les informations d'une base de donnée, jusque la tout fonctionne, hormis que quand j'ouvre mon fichier CSV, il y a des tabulations entre chaque ligne et le dernier champs revient automatiquement à la ligne
$req = "SELECT * FROM matable;
$resultat = $mabasededonne -> query($req);
$tableau = $resultat -> fetchAll();
$toto = Les différents champs tel nom prénom';
$ful = fopen ('csv/client.csv','w');
fputs($ful,$toto );
foreach ($tableau as $client){
$tutu = "$client[0], etc...";
fputs($ful, "\r\n" );
fputs($ful,$tutu );
}
fclose($ful);
Quelqu'un a une solution svp ?
Ayant créer un formulaire PHP, mon tuteur m'a demandé de créer un script permettant de créer un fichier CSV et y stocké les informations d'une base de donnée, jusque la tout fonctionne, hormis que quand j'ouvre mon fichier CSV, il y a des tabulations entre chaque ligne et le dernier champs revient automatiquement à la ligne
$req = "SELECT * FROM matable;
$resultat = $mabasededonne -> query($req);
$tableau = $resultat -> fetchAll();
$toto = Les différents champs tel nom prénom';
$ful = fopen ('csv/client.csv','w');
fputs($ful,$toto );
foreach ($tableau as $client){
$tutu = "$client[0], etc...";
fputs($ful, "\r\n" );
fputs($ful,$tutu );
}
fclose($ful);
Quelqu'un a une solution svp ?
3 réponses
-
j'ai pas testé mais essayes ça:
<?php //attention aux " ' de début et fin de chaine !! //évites les noms de variables bidon tel toto titi tutu tata, mets des noms explicites $req = "SELECT * FROM matable"; //il te manquait le " à la fin $resultat = $mabasededonne -> query($req); $titre = 'Les différents champs tel nom prénom'; $f = fopen ('csv/client.csv','w'); fputs($f,$titre ); $tableau = $resultat -> fetchAll(); //on parcours toutes les lignes de resultat pour generer la ligne csv foreach($tableau as $client){ $ligne=""; foreach ($client as $value){ //$client est un array $ligne .= $value.";"; //rajout du ; de séparation } fputs($ful, $ligne."\r\n" ); } } fclose($f); ?> -
Au lieu de bricoler et réinventer la roue carrée, pourquoi ne pas utiliser les fonctions fournies par PHP ?
https://www.php.net/manual/fr/function.fputcsv.php -