AFFICHAGE SELECTIF EN PHP

Mammouth du PHP | 687 Messages

06 sept. 2010, 20:43

Bonsoir à tous!
voilà je suis en train de coder et j'aurai besoin de vos lumière s'il vous plait :
VOICI MON CODE :

<table border="0" align="center" cellspacing="1" cellpadding="1" width="100%">
<tr>
<td><h4><u>R&eacute;f&eacute;rence client</u></h4></td>
</tr>
<tr>
<td>
<ul>
<?php
if ($dossier[ref_client]) {
?>
<li><b>Administration - Collectivit&eacute; : </b><?php echo htmlentities($dossier[ref_client]); ?></li>
</ul>
</td>
</tr>
</table>

Grace à f ($dossier[ref_client]) l'information est visible sur le site si une information a été saisie dans la base sql...
Problème... Comment puis-je faire la même chose avec mon titre : R&eacute;f&eacute;rence client ??? en gros j'aimerai que mon titre ne s'affiche que si les informations se trouvant en dessous ont été complété...

Merci par avance de votre aide!

Cordialement.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 sept. 2010, 23:11

Il te suffit pour cela d'inclure les éléments dont l'affichage est conditionné, dans le bloc de la condition :)
Transforme ton code :

Code : Tout sélectionner

Affiche le titre SI la condition est vrai Affiche la référence FIN SI
En :

Code : Tout sélectionner

SI la condition est vrai Affiche le titre Affiche la référence FIN SI
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 687 Messages

07 sept. 2010, 01:40

Merci pour ta réponse rapide!
Effectivement ça fonctionne, le problème c'est que tout l'affichage est décalé...

Peux-tu me dire stp comment tu voyais le code?

Merci par avance!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 sept. 2010, 23:56

Il faut que ton if() encadre toute la structure html à afficher/masquer. Basiquement, en retirant le tableau qui n'apporte pas grand chose tu pourrais avoir quelque chose du genre :
<?php if ($dossier["ref_client"]) { ?>
<h4><u>R&eacute;f&eacute;rence client</u></h4>
<ul>
<li><b>Administration - Collectivit&eacute; : </b><?php echo htmlentities($dossier["ref_client"]); ?></li>
</ul>
<?php } ?>
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 687 Messages

08 sept. 2010, 02:15

Merci!
je viens d'essayer le code, effectivement ça fonctionne mais du coup les tailles de mes polices ne sont plus respectées et la mise en page déformée...

:?

Merci en tout cas!

Cordialment

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

08 sept. 2010, 20:51

C'est sans doute que ta feuille de style est prévue pour le tableau ou la cellule et pas pour les listes.. tu peux soit modifier ta feuille de style, soit remettre les balises du tableau, suffit juste de les placer à l'intérieur du if :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 687 Messages

09 sept. 2010, 18:22

Merci!

je vais essayer tout de suite!

Mammouth du PHP | 687 Messages

09 sept. 2010, 20:54

Tout est ok j'ai procédé ainsi :

<table border="0" align="center" cellspacing="1" cellpadding="1" width="100%">

<?php if ($dossier["ref_client"]) { ?>
<h5><u>R&eacute;f&eacute;rence client</u></h5>
<ul>
<li><b class="titre">Administration - Collectivit&eacute; : </b><font size="2" face="verdana"> <?php echo htmlentities ($dossier["ref_client"]); ?></font></li>
</ul>
<?php } ?>
<ul>
<?php if ($dossier["ref_autre"]) { ?>
<li><b class="titre">Autres : </b><font size="2" face="tahoma"><?php echo htmlentities($dossier["ref_autre"]); ?></font></li>
</ul>
<?php } ?>

</table>

car le simple fait d'ajouter le table ne suffisait pas..

Merci encore!

COrdialement