FPDF tableau resultat requête
Résolu/Fermé
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
-
9 juin 2010 à 17:13
tumes - 20 juil. 2016 à 17:07
tumes - 20 juil. 2016 à 17:07
A voir également:
- FPDF tableau resultat requête
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Tableau de combinaison loto 5/90 - Forum Excel
- Le fichier contient un tableau présentant un extrait des livres les plus prêtés à paris en 2016. filtrez le tableau pour ne faire apparaître que les bandes dessinées ado. puis filtrez le tableau pour ne faire apparaître que celles dont l'auteur est zep. quel est le titre de la bande dessinée ado de zep qui a été la plus prêtée d'après ce tableau ? ✓ - Forum Windows 10
14 réponses
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
Modifié par mimi8210 le 10/06/2010 à 15:58
Modifié par mimi8210 le 10/06/2010 à 15:58
J'ai trouvé un code, je l'ai adapté à ma base de données, et ça fonctionne très bien, alors voici le lien si ça peut aider :
https://codes-sources.commentcamarche.net/
Merci Beaucoup pour ta patience 'duweb' =)
https://codes-sources.commentcamarche.net/
Merci Beaucoup pour ta patience 'duweb' =)
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
10 juin 2010 à 11:41
10 juin 2010 à 11:41
J'ai fait les corrections, et j'ai ce message d'erreur :
Fatal error: Call to undefined method FPDF::LoadData() on line 90
Voici la ligne 90 et la fonction correspondante :
$data=$pdf->LoadData($data);
function LoadData($data)
{
// on récupère les articles commandés
$reqart=mysql_query("SELECT * FROM COMMANDER WHERE numerocommande='".$donneecommande['numerocommande']."' ");
while ($donnee = mysql_fetch_object($reqcommande))
{
$data[] = array($donnee['reference']->champ1,$donnee['libelle']->champ2,$donnee['prixht']->champ3,$donnee['quantite']->champ4,$donnee['tva']->champ5,$donnee['prixttc']->champ6);
}
return $data;
}
J'ai également essayé de ne rien mettre en paramètre dans les deux lignes où l'on trouve LoadData tels que : ' LoadData() ', mais ça ne change rien...
Fatal error: Call to undefined method FPDF::LoadData() on line 90
Voici la ligne 90 et la fonction correspondante :
$data=$pdf->LoadData($data);
function LoadData($data)
{
// on récupère les articles commandés
$reqart=mysql_query("SELECT * FROM COMMANDER WHERE numerocommande='".$donneecommande['numerocommande']."' ");
while ($donnee = mysql_fetch_object($reqcommande))
{
$data[] = array($donnee['reference']->champ1,$donnee['libelle']->champ2,$donnee['prixht']->champ3,$donnee['quantite']->champ4,$donnee['tva']->champ5,$donnee['prixttc']->champ6);
}
return $data;
}
J'ai également essayé de ne rien mettre en paramètre dans les deux lignes où l'on trouve LoadData tels que : ' LoadData() ', mais ça ne change rien...
duweb
Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
72
Modifié par duweb le 10/06/2010 à 12:16
Modifié par duweb le 10/06/2010 à 12:16
j'avais pas vu tu l'avais deja mise
$data=$pdf->LoadData($data);
doit etre remplacée par
$data=$pdf->LoadData();
explication :LoadData($data);, ce $data n'existe pas puisque tu vas le créer dans la fonction
donc il faut aussi modifier la fonction
function LoadData($data)
remplacé par
function LoadData()
$data=$pdf->LoadData($data);
doit etre remplacée par
$data=$pdf->LoadData();
explication :LoadData($data);, ce $data n'existe pas puisque tu vas le créer dans la fonction
donc il faut aussi modifier la fonction
function LoadData($data)
remplacé par
function LoadData()
duweb
Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
72
9 juin 2010 à 17:57
9 juin 2010 à 17:57
pour cet exemple il utilise le fichier de données pays.txt disponible à cetet adresse :
http://www.fpdf.org/fr/tutorial/pays.txt
donc si tu veux utilise cet exemple :
- entete du tableau $header=array('Pays','Capitale','Superficie (km²)','Pop. (milliers)'); à modifier en fonction
- ta requete
- création d'un fichier
- insertion des données dans le fichier avec une boucle while de ta requete
tu peux aussi créer directement un tableau multidemensionnel avec la boucle while et modifier la fonction function "LoadData($file)"
tu mets seulement return $data; pour cette fonction
http://www.fpdf.org/fr/tutorial/pays.txt
donc si tu veux utilise cet exemple :
- entete du tableau $header=array('Pays','Capitale','Superficie (km²)','Pop. (milliers)'); à modifier en fonction
- ta requete
- création d'un fichier
- insertion des données dans le fichier avec une boucle while de ta requete
tu peux aussi créer directement un tableau multidemensionnel avec la boucle while et modifier la fonction function "LoadData($file)"
tu mets seulement return $data; pour cette fonction
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
10 juin 2010 à 09:33
10 juin 2010 à 09:33
Je comprends un peu mieux, mais j'ai encore beaucoup de mal à réaliser mon code, sachant que je voudrais réalisé mon tableau avec la deuxième méthode que tu m'as proposé (sachant aussi qu'avec ce "langage" que je ne maîtrise pas du tout, je ne sais pas comment modifier pour ajouter le while que tu m'as conseillé)... Voici mon code:
<?php
require('dossierFPDF/fpdf.php');
require('connexionBDD.php');
// on récupère les informations de la commande
$reqcommande=mysql_query("SELECT * FROM COMMANDE WHERE numerocommande='090610162545'");
$donneecommande=mysql_fetch_array($reqcommande);
class PDF extends FPDF
{
//Chargement des données
function LoadData()
{
// on récupère les articles commandés
$reqart=mysql_query("SELECT * FROM COMMANDER WHERE numerocommande='".$donneecommande['numerocommande']."' ");
$donneeart=mysql_fetch_array($reqart);
return $donneeart;
}
//Tableau amélioré
function ImprovedTable($header,$donneeart)
{
//Largeurs des colonnes
$w=array(40,40,40,40,40,40);
//En-tête
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();
//Données
foreach($donneeart as $row)
{
$this->Cell($w[0],6,$row[0],'LR');
$this->Cell($w[1],6,$row[1],'LR');
$this->Cell($w[2],6,number_format($row[2],0,',',' '),'LR',0,'R');
$this->Cell($w[3],6,number_format($row[3],0,',',' '),'LR',0,'R');
$this->Cell($w[4],6,number_format($row[4],0,',',' '),'LR',0,'R');
$this->Cell($w[5],6,number_format($row[5],0,',',' '),'LR',0,'R');
$this->Ln();
}
//Trait de terminaison
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',12);
$header=array('Référence','Libellé','Prix HT','TVA','Quantité','Prix TTC');
$pdf->ImprovedTable($header,$donneeart);
$pdf->Output();
?>
Message d'erreur affiché :
Fatal error: Call to undefined method FPDF::ImprovedTable()
<?php
require('dossierFPDF/fpdf.php');
require('connexionBDD.php');
// on récupère les informations de la commande
$reqcommande=mysql_query("SELECT * FROM COMMANDE WHERE numerocommande='090610162545'");
$donneecommande=mysql_fetch_array($reqcommande);
class PDF extends FPDF
{
//Chargement des données
function LoadData()
{
// on récupère les articles commandés
$reqart=mysql_query("SELECT * FROM COMMANDER WHERE numerocommande='".$donneecommande['numerocommande']."' ");
$donneeart=mysql_fetch_array($reqart);
return $donneeart;
}
//Tableau amélioré
function ImprovedTable($header,$donneeart)
{
//Largeurs des colonnes
$w=array(40,40,40,40,40,40);
//En-tête
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();
//Données
foreach($donneeart as $row)
{
$this->Cell($w[0],6,$row[0],'LR');
$this->Cell($w[1],6,$row[1],'LR');
$this->Cell($w[2],6,number_format($row[2],0,',',' '),'LR',0,'R');
$this->Cell($w[3],6,number_format($row[3],0,',',' '),'LR',0,'R');
$this->Cell($w[4],6,number_format($row[4],0,',',' '),'LR',0,'R');
$this->Cell($w[5],6,number_format($row[5],0,',',' '),'LR',0,'R');
$this->Ln();
}
//Trait de terminaison
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',12);
$header=array('Référence','Libellé','Prix HT','TVA','Quantité','Prix TTC');
$pdf->ImprovedTable($header,$donneeart);
$pdf->Output();
?>
Message d'erreur affiché :
Fatal error: Call to undefined method FPDF::ImprovedTable()
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
10 juin 2010 à 09:45
10 juin 2010 à 09:45
Avant la ligne $header=array(.......); j'ai ajouté ceci :
$donneeart=$pdf->LoadData($donneeart);
Nouveau message d'erreur :
Fatal error: Call to undefined method FPDF::LoadData()
$donneeart=$pdf->LoadData($donneeart);
Nouveau message d'erreur :
Fatal error: Call to undefined method FPDF::LoadData()
duweb
Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
72
10 juin 2010 à 11:26
10 juin 2010 à 11:26
2 raisosn qui font que ca ne fonctionne pas :
-$donneecommande=mysql_fetch_array($reqcommande); retourne un tableau mais pas multidimensionnel
- $pdf->ImprovedTable($header,$donneeart); => $donneeart n'existe pas encore à ce moment
corrections :
- renommer les $donneeart en $data comme avant
- modification de la requete :
supprimer la ligne -> $donneecommande=mysql_fetch_array($reqcommande);
et la remplacer par :
et enfin modifier $pdf=new FPDF(); par $pdf=new PDF();
et ca fonctionnera
-$donneecommande=mysql_fetch_array($reqcommande); retourne un tableau mais pas multidimensionnel
- $pdf->ImprovedTable($header,$donneeart); => $donneeart n'existe pas encore à ce moment
corrections :
- renommer les $donneeart en $data comme avant
- modification de la requete :
supprimer la ligne -> $donneecommande=mysql_fetch_array($reqcommande);
et la remplacer par :
while ($donnee = mysql_fetch_object($reqcommande)) { $data[] = array($donnee->champ1,$donnee->champ2,$donnee->champ3, autant que nécessaire); }
et enfin modifier $pdf=new FPDF(); par $pdf=new PDF();
et ca fonctionnera
duweb
Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
72
10 juin 2010 à 11:59
10 juin 2010 à 11:59
champ1, champ2, étaient des exemples car je ne connaissais pas le nom des champs de la table
donc $data dans ton cas doit s'écrire
$data[] = array($donnee->reference,$donnee->libelle,$donnee->prixht,$donnee->quantite,$donnee->tva,$donnee->prixttc);
donc $data dans ton cas doit s'écrire
$data[] = array($donnee->reference,$donnee->libelle,$donnee->prixht,$donnee->quantite,$donnee->tva,$donnee->prixttc);
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
10 juin 2010 à 12:04
10 juin 2010 à 12:04
>_<' ok désolée d'être un boulet ^^
Cependant, il y a toujours le même message d'erreur.... =/
Cependant, il y a toujours le même message d'erreur.... =/
duweb
Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
72
10 juin 2010 à 12:08
10 juin 2010 à 12:08
t'as modifié $pdf=new FPDF(); par $pdf=new PDF(); ?
si tu peux mettre la ligne 90 ou tout le code (sans le mot de passe bdd :-))
si tu peux mettre la ligne 90 ou tout le code (sans le mot de passe bdd :-))
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
10 juin 2010 à 12:14
10 juin 2010 à 12:14
Quand je fais la modification $pdf=new PDF(); il y a ce message d'erreur:
Fatal error: Class 'PDF' not found in E:\SiteEmilie\bondecommande.php on line 10 (ligne 10 est la ligne de la modif)
Voici le code de la ligne 90 :
$data=$pdf->LoadData($data);
Et voici le code 'entier' :
// on récupère les informations de la commande
$reqcommande=mysql_query("SELECT * FROM COMMANDE WHERE numerocommande='090610162545'");
$donneecommande=mysql_fetch_array($reqcommande);
class PDF extends FPDF
{
//Chargement des données
function LoadData()
{
// on récupère les articles commandés
$reqart=mysql_query("SELECT * FROM COMMANDER WHERE numerocommande='".$donneecommande['numerocommande']."' ");
while ($donnee = mysql_fetch_object($reqcommande))
{
$data[]=array($donnee->reference,$donnee->libelle,$donnee->prixht,$donnee->quantite,$donnee->tva,$donnee->prixttc);
}
return $data;
}
//Tableau amélioré
function ImprovedTable($header,$data)
{
//Largeurs des colonnes
$w=array(40,40,40,40,40,40);
//En-tête
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();
//Données
foreach($data as $row)
{
$this->Cell($w[0],6,$row[0],'LR');
$this->Cell($w[1],6,$row[1],'LR');
$this->Cell($w[2],6,number_format($row[2],0,',',' '),'LR',0,'R');
$this->Cell($w[3],6,number_format($row[3],0,',',' '),'LR',0,'R');
$this->Cell($w[4],6,number_format($row[4],0,',',' '),'LR',0,'R');
$this->Cell($w[5],6,number_format($row[5],0,',',' '),'LR',0,'R');
$this->Ln();
}
//Trait de terminaison
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new FPDF();
$pdf->AddPage();
//Boucle sur les resultats
$data=$pdf->LoadData($data);
$header=array('Référence','Libellé','Prix HT','TVA','Quantité','Prix TTC');
$pdf->ImprovedTable($header,$data);
// Affichage du fichier pdf
$pdf->Output();
Je te remercie de m'accorder de ton temps!
Fatal error: Class 'PDF' not found in E:\SiteEmilie\bondecommande.php on line 10 (ligne 10 est la ligne de la modif)
Voici le code de la ligne 90 :
$data=$pdf->LoadData($data);
Et voici le code 'entier' :
// on récupère les informations de la commande
$reqcommande=mysql_query("SELECT * FROM COMMANDE WHERE numerocommande='090610162545'");
$donneecommande=mysql_fetch_array($reqcommande);
class PDF extends FPDF
{
//Chargement des données
function LoadData()
{
// on récupère les articles commandés
$reqart=mysql_query("SELECT * FROM COMMANDER WHERE numerocommande='".$donneecommande['numerocommande']."' ");
while ($donnee = mysql_fetch_object($reqcommande))
{
$data[]=array($donnee->reference,$donnee->libelle,$donnee->prixht,$donnee->quantite,$donnee->tva,$donnee->prixttc);
}
return $data;
}
//Tableau amélioré
function ImprovedTable($header,$data)
{
//Largeurs des colonnes
$w=array(40,40,40,40,40,40);
//En-tête
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();
//Données
foreach($data as $row)
{
$this->Cell($w[0],6,$row[0],'LR');
$this->Cell($w[1],6,$row[1],'LR');
$this->Cell($w[2],6,number_format($row[2],0,',',' '),'LR',0,'R');
$this->Cell($w[3],6,number_format($row[3],0,',',' '),'LR',0,'R');
$this->Cell($w[4],6,number_format($row[4],0,',',' '),'LR',0,'R');
$this->Cell($w[5],6,number_format($row[5],0,',',' '),'LR',0,'R');
$this->Ln();
}
//Trait de terminaison
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new FPDF();
$pdf->AddPage();
//Boucle sur les resultats
$data=$pdf->LoadData($data);
$header=array('Référence','Libellé','Prix HT','TVA','Quantité','Prix TTC');
$pdf->ImprovedTable($header,$data);
// Affichage du fichier pdf
$pdf->Output();
Je te remercie de m'accorder de ton temps!
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
10 juin 2010 à 13:59
10 juin 2010 à 13:59
J'ai essayé, ça ne change rien, toujours le même message :
Fatal error: Call to undefined method FPDF::LoadData()
=(
Fatal error: Call to undefined method FPDF::LoadData()
=(
duweb
Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
72
10 juin 2010 à 23:28
10 juin 2010 à 23:28
pour ne pas mourir idiot je t'ai mis une image avec les erreurs. je n'ai pas mis toutes les corrections puisque t'as trouvé une solution
http://imagik.fr/view/260157
http://imagik.fr/view/260157
mimi8210
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
11 juin 2010 à 10:38
11 juin 2010 à 10:38
Ah oui !
Merci !!
=D
Merci !!
=D
MajorT971
Messages postés
3
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
31 mai 2012
31 mai 2012 à 18:11
31 mai 2012 à 18:11
Merci, vous m'avez été d'une grande aide ;)
20 juil. 2016 à 17:07