FPDF - Affichage sous condition

FPDF - Affichage sous condition - PHP - Programmation

Marsh Posté le 06-07-2010 à 20:57:22    

Bonsoir à tous,
 
j'ai un ptit bug que je n'arrive pas à résoudre :
 
Dans mon fichier export_pdf.php dans lequel j'utiliser la fonction fpdf (pour impression de fiche immo en pdf), je souhaite afficher dans le pdf  les champs uniquement si la valeur n'est pas 0 (pour éviter de l'alourdir inutilement).
Le problème c'est que les types de champs numériques sont assez variables. Un coup dans le formulaire de saisie j'ai des valeurs à 0.00 par défaut, un coup j'ai bien 0.
 
Donc ma ligne de code suivante :

    if($data['0']['bedRooms'])
     {
      $pdf->Cell(70,4,utf8_decode('Nombre de chambres : ').($data['0']['bedRooms']?$data['0']['bedRooms']:'n.c.'),0,1);
     }
     else
     {


fonctionne nickel.
Mais celle-ci

    if($data['0']['charges'])
     {
      $pdf->Cell(70,4,utf8_decode('Charges copropriété : '.$data['0']['charges'].chr(128)),0,1);
     }
     else
     {
      //rien
     }


ne fonctionne pas car la valeur nulle par défaut de "charges" est 0.00
 
J'espère que c'est assez clair.
Savez-vous comment modifier cette dernière ligne de code pour que ça fonctionne svp?
Il me semble avoir essayé en remplaçant if($data['0']['charges']) par if($data['0.00']['charges']) mais pas mieux (carrément plus rien quelque soit la valeur je crois).
 
Merci d'avance pour votre aide.


Message édité par kameha le 06-07-2010 à 21:22:41
Reply

Marsh Posté le 06-07-2010 à 20:57:22   

Reply

Marsh Posté le 07-07-2010 à 00:12:28    

d'où vient ton tableau $data ?
Si c'est d'un mysql_fetch_rows, utilise plutot mysql_fetch_assoc
 
A mon avis, le problème ne vient pas de ce code, mais de celui en amont, qui crée ton tableau $data.
Il faut le traiter en avance pour uniformiser la notation.
 
Ou bien tu développes un peu ta condition :

Code :
  1. if($data['0']['bedRooms'] or $data['0.00']['bedRooms'] )


Message édité par Pascal le nain le 07-07-2010 à 00:34:05
Reply

Marsh Posté le 07-07-2010 à 22:43:35    

Marche pas.
Comme je le disais remplacer 0 par 0.00 ne donne rien dans le if.
Dommage. Quant à trouver où est créé le tableau $data dans les 1000 répertoires de Joomla :-)
Merci quand même.
Bonne soirée

Reply

Marsh Posté le 08-07-2010 à 01:53:05    

essaye de convertir la variable en entier avant de faire le test pour que ça soit toujours 0.
 
    if((int)$data['0']['charges'])
     {
      $pdf->Cell(70,4,utf8_decode('Charges copropriété : '.$data['0']['charges'].chr(128)),0,1);
     }
     else
     {
      //rien
     }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed