Un peu de code pour aider ?
J'ai un bout de code pour toi. D'abord tu crées ta liste de valeurs à partir de ta requête
Code:
1 2 3 4 5 6 7 8
|
$requet = 'SELECT * from table';
$listeValeurs = Array();
if($result = mysql_query($requet)) {
while ($ligne = mysql_fetch_array($result, MYSQL_ASSOC)) {
array_push($listeValeurs,$ligne["champ_de_table"]);
}
} |
Et ensuite tu crées autant de ligne du fichier CSV à partir des liste de valeurs :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
$lignes = creeLigne($listeValeurs);
function creeLigne($Liste){
for ($i=0;$i<count($Liste);$i++) {
$ligne .= "\"";
$ligne .= $Liste[$i];
if ($i == (count($Liste) - 1)) {
$ligne .= "\"";
} else {
$ligne .= "\";";
}
}
$ligne .= "\n";
return $ligne;
} |
Et après
- soit tu envoies vers une page pour télécharger le fichier et dans ce cas tu auras
Code:
1 2 3 4 5 6
|
$lignes = creeLigne($listeValeurs);
// telechargement du fichier
header('Content-Disposition: inline; filename=fichierCSV.csv') ;
header('Content-Type: application/csv') ;
echo $lignes; |
- soit tu crées un fichier dans un répertoire et tu auras
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
$lignes = creeLigne($listeValeurs);
$fichier = "fichierCSV.txt";
if (file_exists($fichier)) {
$fp = fopen ($fichier, "w");
} else {
// creation fichier
touch($fichier);
$fp = fopen ($fichier, "w");
}
fwrite($fp,$lignes)
fclose($fp); |
A noter que pour cet exemple j'ai mis tout dans une ligne, mais que tu peux t'arranger pour en faire en colonne comme dans cet exemple :
Code:
1 2 3 4 5 6 7 8
|
$requet = 'SELECT * from table';
$listeValeurs = Array();
if($result = mysql_query($requet)) {
while ($ligne = mysql_fetch_array($result, MYSQL_ASSOC)) {
$lignes .= creeLigne($ligne["champ_de_table"]);
}
} |