Bonjour à tous ,

tout est dans le titre , je recupere les données d'une requete , et je souhaite afficher tous les resultats par colonne , exemple :

toutes les ref client dans la colonne A , tout les part number dans la colonne B etc ....

le titre de mes colonnes s'affiche bien en fonction de la requete .

par contre je fais une boucle while pour les resultats , et c'est la que ça se complique , car je souhaite que chaque resultat s'affiche dans la colonne en fonction de la requete .

je donne un nom à ma colonne $k et je lui donne une valeur A(premère colonne) , et je souhaite que tous les resultats ref client s'affiche dans cette colonne .

etc pour le reste , mais cela ne fonctionne pas car comme $k est dans la boucle , il me décale tous les résultats ...

merci d'avance pour votre aide

voila mon code

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
include 'Classes/PHPExcel.php';
include 'Classes/PHPExcel/PHPExcel/IOFactory.php';
 
 
 
    // création des objets de base et initialisation des informations d'entête
 
    $classeur = new PHPExcel;
 
    $classeur->getProperties()->setCreator("Annie Gagnon");
 
    $classeur->setActiveSheetIndex(0);
 
    $feuille=$classeur->getActiveSheet();
 
    $classeur->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('F')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('G')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('H')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('I')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('J')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('K')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('L')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('M')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('N')->setAutoSize(true);
	$classeur->getActiveSheet()->getColumnDimension('O')->setAutoSize(true);
 
 
    // ajout des données dans la feuille de calcul
 
    $feuille->setTitle('Nom affiché dans l\'onglet');
    $nom_requete = 'test 4';
 
    $resultats=$connexion->query("SELECT * FROM Requete WHERE nom_requete ='" . $nom_requete . "'");
    $resultats->setFetchMode(PDO::FETCH_OBJ);
    $result = $resultats->fetch();
	$u=0;
	if(($result->ref_client) == true )
	{
	$feuille->setCellValueByColumnAndRow($u,1,'Ref client');
	$u++;}
	if(($result->part_number) == true )
	{
	$feuille->setCellValueByColumnAndRow($u,1,'Part number');
	$u++;}
	if(($result->collection_client) == true )
	{
	$feuille->setCellValueByColumnAndRow($u,1,'Collection client');
	$u++;}
	if(($result->collection_origine) == true )
	{
	$feuille->setCellValueByColumnAndRow($u,1,'Collection origine');
	$u++;}
	if(($result->nom_origine) == true )
	{
	$feuille->setCellValueByColumnAndRow($u,1,'Nom origine');
	$u++;}
	if(($result->nom_final) == true )
	{
	$feuille->setCellValueByColumnAndRow($u,1,'Nom final');
	$u++;}
 
 
    $login_requete = AMORET;
	$resultats=$connexion->query("SELECT * FROM Produit WHERE login ='".$login_requete."'");
    $resultats->setFetchMode(PDO::FETCH_OBJ);
	$k=A;
	$i=2;
    while ( $donnees = $resultats->fetch() )
	{
	if(($result->ref_client) == true )
	{
    $feuille->SetCellValue($k.$i,$donnees->ref_client);
	$i++;}
	if(($result->part_number) == true )
	{
	$feuille->SetCellValue($k.$i,$donnees->part_number);
	$i++;}
	if(($result->collection_client) == true )
	{
	$feuille->SetCellValue($k.$i,$donnees->collection_client);
	$i++;}
	if(($result->collection_origine) == true )
	{
	$feuille->SetCellValue($k.$i,$donnees->collection_origine);
	$i++;}
	if(($result->nom_origine) == true )
	{
	$feuille->SetCellValue($k.$i,$donnees->nom_origine);
	$i++;}
	if(($result->nom_final) == true )
	{
	$feuille->SetCellValue($k.$i,$donnees->nom_final);
	$i++;}
	}
 
 
 
 
    // envoi du fichier au navigateur
 
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
 
    header('Content-Disposition: attachment;filename="'.$nom_requete.'.xlsx"'); 
 
    header('Cache-Control: max-age=0'); 
 
    $writer = PHPExcel_IOFactory::createWriter($classeur, 'Excel2007'); 
 
    $writer->save('php://output');
 
 
   ?>