Bonjour,
J'ai un script qui devrait généner un pdf avec plusieurs pages. Sur chaque page, une facture est affichée, avec les données du membre et ce qu'il a commandé.
Pour ceci, j'ai 2 jeux d'enregistrements:
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $query_RS_taille = "SELECT DISTINCT t_club.No_sequence, equipement.Training_haut, equipement.Training_bas, equipement.Top, equipement.Liquette, equipement.Tshirt_polyesther, equipement.Tshirt_coton, equipement.Pull_longues_manches_adulte, equipement.Short_sport, equipement.Short_course_a_pied, equipement.Short_collant, equipement.Collant_trois_quart, equipement.Collant_long, equipement.Coupe_vent, equipement.Liquette_Basket, equipement.Short_Basket, equipement.Liquette_volley FROM equipement INNER JOIN t_club ON equipement.ID_MEMBRE = t_club.No_sequence"; $RS_taille = mysql_query($query_RS_taille, $cs) or die(mysql_error()); $row_RS_taille = mysql_fetch_assoc($RS_taille); $totalRows_RS_taille = mysql_num_rows($RS_taille);
Voici la partie qui génère le pdf, avec mes boucles. Le souci est que la première page est OK, mais la 2ème ne m'affiche que les coordonnées de la personne, et pas ce qu'elle a commandé...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $query_RS_equipement = "SELECT DISTINCT t_famille.nom, t_famille.NPA, t_nom_categorie.Desc_cat, t_famille.localite, t_famille.telephone, t_club.prenom, t_club.filiation, t_famille.adresse, t_liaison_membre_famille.No_famille, t_club.parent, t_club.sexe, t_club.date_naissance, t_club.annee, t_club.No_sequence, t_famille.ID_famille FROM t_cotisation_categorie, equipement, t_liaison_membre_famille INNER JOIN t_famille ON t_liaison_membre_famille.No_famille = t_famille.ID_famille INNER JOIN t_club ON t_liaison_membre_famille.No_membre = t_club.No_sequence INNER JOIN t_nom_categorie ON t_club.categorie = t_nom_categorie.Categorie INNER JOIN t_nom_groupes INNER JOIN t_liaison_membre_groupe ON t_club.No_sequence = t_liaison_membre_groupe.no_membre AND t_nom_groupes.Groupe = t_liaison_membre_groupe.no_groupe WHERE t_club.categorie < 7 AND (t_nom_groupes.Groupe < 20 OR t_nom_groupes.Groupe > 90) AND t_cotisation_categorie.Cat_cotisation = t_club.categorie AND equipement.ID_MEMBRE = t_club.No_sequence ORDER BY t_famille.nom, t_famille.ID_famille, t_club.filiation, t_club.prenom"; $RS_equipement = mysql_query($query_RS_equipement, $cs) or die(mysql_error()); $row_RS_equipement = mysql_fetch_assoc($RS_equipement); $totalRows_RS_equipement = mysql_num_rows($RS_equipement);
A la fin de la première page, $ok =1 au début et 0 à la fin , sur la 2ème $ok=0 (--> pas d'affichage)
Où est l'astuce?
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 $pdf = new PDF_Invoice( 'P', 'mm', 'A4' ); //boucle principale pour générer une page par membre do { header ('Content-type: text/html; charset=utf-8'); $pdf->AddPage(); $pdf->addClientAdresse($row_RS_equipement['sexe']."\n".$row_RS_equipement['prenom']." ".$row_RS_equipement['nom']."\n".$row_RS_equipement['adresse']."\n".$row_RS_equipement['NPA']." ".$row_RS_equipement['localite']); // remplissage de chaque ligne, par les résultats correpondants $cols=array( "REFERENCE" => 23, "DESIGNATION" => 78, "QUANTITE" => 22, "P.U. HT" => 26, "MONTANT H.T." => 30, "TVA" => 11 ); $pdf->addCols( $cols); $cols=array( "REFERENCE" => "L", "DESIGNATION" => "L", "QUANTITE" => "C", "P.U. HT" => "R", "MONTANT H.T." => "R", "TVA" => "C"); $pdf->addLineFormat( $cols); $pdf->addLineFormat($cols); $y = 109; // 2ème boucle (imbriquée dans la 1ère) qui affiche la commande par utilisateur $ok=1; do{ if (($row_RS_taille['Training_haut'])>0) { $prix_SR=0; $prix_CS=0; if (($row_RS_equipement['Desc_cat'])!="Adultes") { $prix_SR="105.00"; $prix_CS="35.00"; } else { $prix_SR="135.00"; $prix_CS="45.00"; } $line = array( "REFERENCE" => "TEST". $ok."Taille: ".$row_RS_taille['Training_haut'], "DESIGNATION" => "Training haut", "QUANTITE" => "1", "P.U. HT" => $prix_SR, "MONTANT H.T." => $prix_CS, //"P.U. HT" => "105.00", //"MONTANT H.T." => "25.00", "TVA" => "1" ); $size = $pdf->addLine( $y, $line ); $y += $size + 2; } if($row_RS_taille['No_sequence']==$row_RS_equipement['No_sequence']){$ok=1;}else{$ok=0;} if (($row_RS_taille['Training_bas'])>0) { $prix_SR=0; $prix_CS=0; if (($row_RS_equipement['Desc_cat'])!="Adultes") { $prix_SR="105.00"; $prix_CS="35.00"; } else { $prix_SR="135.00"; $prix_CS="45.00"; } $line = array( "REFERENCE" => "TEST". $ok."Taille: ".$row_RS_taille['Training_bas'], "DESIGNATION" => "Training bas", "QUANTITE" => "1", "P.U. HT" => $prix_SR, "MONTANT H.T." => $prix_CS, "TVA" => "1" ); $size = $pdf->addLine( $y, $line ); $y += $size + 2; } //ajout d'une ligne de test pour afficher la valeur de la variable $ok $line = array( "REFERENCE" => "TEST". $ok, "DESIGNATION" => "TEST". $ok, "QUANTITE" => "TEST". $ok, "P.U. HT" => "TEST". $ok, "MONTANT H.T." => "TEST". $ok, "TVA" => "1" ); $size = $pdf->addLine( $y, $line ); $y += $size + 2; } while ($row_RS_taille = mysql_fetch_assoc($RS_taille)&&($ok==1)); $pdf->addCadreTVAs(); } while ($row_RS_equipement = mysql_fetch_assoc($RS_equipement)); $pdf->Output();
merci de votre aide!!!






Répondre avec citation
Partager