Bonjour je rencontre le même problème que ce sujet : Saut de ligne dans fichier CSV.

J'obtiens ce résultat....

Nom : Capturebis.PNG
Affichages : 154
Taille : 1,9 Ko

Alors que je souhaite avoir les chiffres en fonction des réponses. Car cela correspond à la réponse à un numéro de question dans ma table mysql.

Voila mon code qui exécute ce script.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
 
//on exporte la table sous forme d'un tableau
mysqli_report(MYSQLI_REPORT_STRICT); // activation des erreurs par exceptions
 
$montable = array();
$query = "SELECT Rep, IdQ FROM reponse where IdQuest=?";
try {
   $stmt = $database -> prepare($query);
   $stmt -> bind_param("d", $idquest);
   $stmt -> execute();
   $stmt -> bind_result($rep, $id);
 
 
while($stmt->fetch()) {
      // $rep se remplit d'une donnée à chaque tour
 
    echo  $id.";"; 
    echo "\r";  
    $montable[] = $rep;
   }
   $stmt -> close();
}
catch(mysqli_sql_exception $ex) {
   $montable = array('Erreur SQL ' . $ex->getCode(), $ex->getMessage());
}
 
// on formate le fichier CSV
ob_start(); // buffer pour intercepter l'affichage
$fp = fopen('php://output', 'w'); // "fichier" affichage, se comporte comme un echo de son contenu
fputcsv($fp, $montable, ';'); // génération du contenu du CSV $montable
fclose($fp);
$len = ob_get_length(); // mesure du buffer en octets, pour les en-têtes
 
$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");
header("Content-Length: $len"); // taille en octets
 
// et on exporte le fichier
ob_end_flush(); // on vide le buffer vers le client pour qu'il réceptionne
 
?>
Merci d'avance