Formulaire PDF

cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017 - 20 mars 2009 à 12:36
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 21 mars 2009 à 14:25
Bonjour à tous, j'ai le problème suivant :

Mon code (que vous trouverez ci-dessous) me permet de sortir en PDF la liste des contrats de mes clients. Cependant, il manque toujours un enregistrement. Je m'explique. Pour un client, j'ai par exemple 5 contrats. Lorsque je sors la liste, il ne s'affiche que 4 contrats.

Pouvez-vous m'aider sur ce coup car je n'ai pas trouver la solution.

Merci à tous


mysql_select_db($database_connexion, $connexion);
$query_contrat "SELECT * FROM CONTRATS WHERE ID_CLIENT '$_GET[ID_CLIENT]' AND ETAT_CONTRAT != 'annulee'";
$contrat = mysql_query($query_contrat, $connexion) or die(mysql_error());
$row_contrat = mysql_fetch_assoc($contrat);

$pdf->SetXY(3,3);
for($i=0;$i<sizeof($titres);$i++) $pdf-="">cell(5,0.5,$titres[$i],1,0,'L',1);
$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(3,$pdf->GetY()+1);
$fond=0;
while($row_contrat = mysql_fetch_assoc($contrat))
{
$query="select * from COMPAGNIES where ID_COMP = '$row_contrat[ID_COMP]'";
$result=mysql_query($query);
$compagnie=mysql_fetch_array($result);

$query="select * from TYPE_ASSURANCE where ID_TYPE = '$row_contrat[ID_ASSURANCE]'";
$result=mysql_query($query);
$type=mysql_fetch_array($result);

$pdf->cell(5,0.5,$row_contrat['NUM_POLICE'],1,0,'L',$fond);
$pdf->cell(5,0.5,$compagnie['NOM'],1,0,'L',$fond);
$pdf->cell(5,0.5,$type['TYPE_ASSURANCE'],1,0,'L',$fond);
$pdf->cell(5,0.5,$row_contrat['FIN_JOUR'].'/'.$row_contrat['FIN_MOIS'].'/'.$row_contrat['FIN_ANNEE'],1,0,'R',$fond);
$pdf->cell(5,0.5,'CHF '.number_format($row_contrat['PRIME_BRUTE'],2, ".", "'"),1,0,'R',$fond);
$pdf->SetXY(3,$pdf->GetY()+0.5);
$fond=!$fond;
}

</sizeof($titres);$i++)>

4 réponses

cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017
20 mars 2009 à 12:37
Je vous remets le code car il est illisible.


mysql_select_db($database_connexion, $connexion);
$query_contrat "SELECT * FROM CONTRATS WHERE ID_CLIENT '$_GET[ID_CLIENT]' AND ETAT_CONTRAT != 'annulee'";
$contrat = mysql_query($query_contrat, $connexion) or die(mysql_error());
$row_contrat = mysql_fetch_assoc($contrat);

$pdf->SetXY(3,3);
for($i=0;$i<sizeof($titres);$i++) $pdf-="">cell(5,0.5,$titres[$i],1,0,'L',1);
$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(3,$pdf->GetY()+1);
$fond=0;
while($row_contrat = mysql_fetch_assoc($contrat))
{
$query="select * from COMPAGNIES where ID_COMP = '$row_contrat[ID_COMP]'";
$result=mysql_query($query);
$compagnie=mysql_fetch_array($result);

$query="select * from TYPE_ASSURANCE where ID_TYPE = '$row_contrat[ID_ASSURANCE]'";
$result=mysql_query($query);
$type=mysql_fetch_array($result);

$pdf->cell(5,0.5,$row_contrat['NUM_POLICE'],1,0,'L',$fond);
$pdf->cell(5,0.5,$compagnie['NOM'],1,0,'L',$fond);
$pdf->cell(5,0.5,$type['TYPE_ASSURANCE'],1,0,'L',$fond);
$pdf->cell(5,0.5,$row_contrat['FIN_JOUR'].'/'.$row_contrat['FIN_MOIS'].'/'.$row_contrat['FIN_ANNEE'],1,0,'R',$fond);
$pdf->cell(5,0.5,'CHF '.number_format($row_contrat['PRIME_BRUTE'],2, ".", "'"),1,0,'R',$fond);
$pdf->SetXY(3,$pdf->GetY()+0.5);
$fond=!$fond;
}

</sizeof($titres);$i++)>
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
21 mars 2009 à 12:02
Salut,

Heureusement que tu as reposté le code, c'est bien plus lisible comme ça ... heu, est ce possible d'avoir une 3eme tentative ? Tu auras sans doute plus de réponses.

Cordialement,

Kohntark -
0
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017
21 mars 2009 à 14:06
Est-ce mieux ainsi ?

mysql_select_db($database_connexion, $connexion);$query_contrat "SELECT * FROM CONTRATS WHERE ID_CLIENT '$_GET[ID_CLIENT]' AND ETAT_CONTRAT != 'annulee'";
$contrat = mysql_query($query_contrat, $connexion) or die(mysql_error());
$row_contrat = mysql_fetch_assoc($contrat);
$pdf->SetXY(3,3);
for($i=0;$i<sizeof($titres);$i++) $pdf-="">cell(5,0.5,$titres[$i],1,0,'L',1);
$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(3,$pdf->GetY()+1);
$fond=0;
while($row_contrat = mysql_fetch_assoc($contrat)) { $query="select * from COMPAGNIES where ID_COMP = '$row_contrat[ID_COMP]'";
$result=mysql_query($query);
$compagnie=mysql_fetch_array($result);
$query="select * from TYPE_ASSURANCE where ID_TYPE = '$row_contrat[ID_ASSURANCE]'";
$result=mysql_query($query);
$type=mysql_fetch_array($result);
$pdf->cell(5,0.5,$row_contrat['NUM_POLICE'],1,0,'L',$fond);
$pdf->cell(5,0.5,$compagnie['NOM'],1,0,'L',$fond);
$pdf->cell(5,0.5,$type['TYPE_ASSURANCE'],1,0,'L',$fond);
$pdf->cell(5,0.5,$row_contrat['FIN_JOUR'].'/'.$row_contrat['FIN_MOIS'].'/'.$row_contrat['FIN_ANNEE'],1,0,'R',$fond);
$pdf->cell(5,0.5,'CHF '.number_format($row_contrat['PRIME_BRUTE'],2, ".", "'"),1,0,'R',$fond);
$pdf->SetXY(3,$pdf->GetY()+0.5);
$fond=!$fond; }
</sizeof($titres);$i++)>



David
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
21 mars 2009 à 14:25
pas qu'un peu, mais manque encore de l'indentation

A vu de nez :
for($i= 0;$i<sizeof($titres);$i++) $pdf-=""> cell(5,0.5,$titres[$i],1,0,'L',1);
=>
Ca déjà ça génère une erreur et doit faire planter le script (erreur de copié/collé ?)
</sizeof($titres);$i++)>
Ton erreur est là :$row_contrat mysql_fetch_assoc($contrat);>
à supprimer (la 4eme ligne)

Il y en a peut être d'autres, je n'ai regardé que très rapidement.

Bonne journée,

Kohntark -
0
Rejoignez-nous