affichage variable et boucle while
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:
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');
?> |