Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > FPDF
FPDF Forum d'entraide pour la bibliothèque FPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels FPDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/10/2007, 17h01   #1
Invité de passage
 
Étudiant
Inscription : septembre 2007
Messages : 9
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2007
Messages : 9
Points : 2
Points : 2
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 :
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();
?>
nigg4z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2007, 18h49   #2
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Salut

Citation:
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

Citation:
$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 :
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
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 15h13   #3
Invité de passage
 
Étudiant
Inscription : septembre 2007
Messages : 9
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2007
Messages : 9
Points : 2
Points : 2
Merci ça marche nikel comme ça !
Bonne continuation !
nigg4z est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h32.


 
 
 
 
Partenaires

Hébergement Web