IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[FPDF] Problème avec un while dans un tableau


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [FPDF] Problème avec un while dans un tableau
    Bonjour à tous,

    Voila mon petit problème c'est que je n'arrive pas à afficher les résultats voulus dans mon tableau. Je demande 5 résultats mais à chaque fois je n'est qu'un seul retour de la part de la requête !
    J'utilise la classe FPDF et la méthode drawTableau() de phpToPdf pour insérer mes résultats dans un tableau.
    Malheureusement pour moi, mon while ne fonctionne apparement pas et je crois qu'à chaque passage de la boucle il écrase le résultat précedent c'est pourquoi j'ai tenté de sauver les valeurs retournées par la requête dans un array à l'aide de array_push mais ça ne fonctionne toujours pas. Bref voilà la partie de mon code qui ne fonctionne pas comme je le désire :

    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
    mysql_connect("localhost", "david", "david");
    mysql_select_db("david");
    $req = mysql_query("SELECT * FROM produits LIMIT 5;");
    while($donnees = mysql_fetch_array($req)) {
    	$ref = $donnees['ref'];
    	$libelle = $donnees['nom'];
    	$pu_ht = ttc_to_ht($donnees['prix_ttc'],19.6);
    	$qte = 2;
    	$total_ht = $pu_ht*$qte;
    	$total_ttc = ht_to_ttc($total_ht,19.6);
    	$stack = array();
    	$contenuTableau = array_push($stack ,$ref ,$libelle , $qte, $pu_ht, $total_ht, $total_ttc);
    }
    $PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $stack);
    $PDF->Output();
    mysql_close();
    ?>

  2. #2
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Salut

    array_push retourne le nouveau nombre d'éléments du tableau.

    Exemple avec array_push

    <?php$stack = array ("orange", "banane");array_push ($stack, "pomme", "bleuet");print_r($stack);?>


    Comme tu peux le constater, à le tableau auquel tu veux ajouter un élément dois être le premier élément de l'appel de la méthode "array_push".

    A chaque passage dans ton while, tu fais

    $stack = array();
    $contenuTableau = array_push($stack ,$ref ,$libelle , $qte, $pu_ht, $total_ht, $total_ttc);
    Tu remet le tableau stack à VIDE puis tu y ajoute ta valeur de BDD et enfin tu met le resultat dans $contenuTableau... Donc, ton tableau $contenuTableau n'a qu'un élément.

    Tu devrais faire:

    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
    $contenuTableau =array();
    
    mysql_connect("localhost", "david", "david");
    mysql_select_db("david");
    $req = mysql_query("SELECT * FROM produits LIMIT 5;");
    while($donnees = mysql_fetch_array($req)) {
    	$ref = $donnees['ref'];
    	$libelle = $donnees['nom'];
    	$pu_ht = ttc_to_ht($donnees['prix_ttc'],19.6);
    	$qte = 2;
    	$total_ht = $pu_ht*$qte;
    	$total_ttc = ht_to_ttc($total_ht,19.6);
    	$contenuTableau = array_push($contenuTableau ,$ref ,$libelle , $qte, $pu_ht, $total_ht, $total_ttc);
    }
    $PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau );
    $PDF->Output();
    mysql_close();

    Espérant t'avoir aidé,
    ++
    JC

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci ça marche nikel comme ça !
    Bonne continuation !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec un while après écriture dans base Oracle
    Par NFHnv dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 18/07/2013, 11h04
  2. [FPDF] problème avec les images dans un tableau dynamique
    Par GADSN dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 08/04/2009, 11h11
  3. Réponses: 1
    Dernier message: 21/01/2009, 17h22
  4. [FPDF] Problème avec les couleurs de fond d'un tableau
    Par bayer59 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 20/05/2008, 16h38
  5. Problème avec les espaces dans un tableau !
    Par remixtech dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/07/2006, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo