[PHP] Afficher / Masquer par fonction

ed -  
 ed -
Bonjour,
Je souhaite afficher ou masquer des entêtes
de tableaux si une condition est remplie.
L'entete s'affiche par défaut. Aussi, qd je n'ai pas de valeur dans ma boucle, je souhaiterais que l'entête disparaisse...

Si oui, affiche entete / si non, n'affiche pas.

Je parviens à masquer si ma val est 0 mais ne parviens pas à laisser l'entete si cette condition n'est pas remplie.
Pouvez vous m'aider ?
VOici mon code.

Dnas fichier html
<?php echo AfficheEntete($anbmar[0]);("<table ><TR class=\"enteteligne\">
<TH width=30 >Réf.</th>
<TH width=120 >NOM</th>
<TH width=150 >PRENOM</th>
<TH width=120 >DATE </th>
<TH width=270 >LIEU </th>
<TH width=150 >LIBELLE</th>
<TH width=30 >PHOTO</TH></TR>");
?>

Voici ma fonction :
// Fonction afficher entête ou non selon
function AfficheEntete($nombre, $masque='--')
{
if ($nombre ==0)
return $masque;

}

Me manque donc la troisieme condition et je ne sais pas comment faire.
Merci de votre aide.
ed
A voir également:

7 réponses

ed
 
Merci pour votre aide,
Je viens de trouver. En réalité, pas besoin de fonction,
il suffit de mettre un if dans le code html.
ed
1
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Le problème vient de ton appel de la fonction :
AfficheEntete($anbmar[0]);("...");
au lieu de
AfficheEntete($anbmar[0], "...");

Xavier
0
ed
 
Merci pour ta réponse.
Si tu regardes de plus près, tu verras que c'est bien un point virgule.

J'ai du mal m'exprimer...

Si la valeur est zero, certes l'entete disparait...
Mais si la valeur de ma variable est >1, dans ce cas, je perds le tableau.
Je souhaiterais que ma fonction gère les deux situations.
Si ==0 et si >0.

Peut être que la structure même de ma fonction n'est pas possible ?..
Merci.

ed
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Je ne comprends pas ce que tu veux obtenir avec ce point virgule. Il marque une fin d'instruction, et ton bloc ("<table>etc.</tr>") se retrouve à ne plus avoir aucun sens : il n'est ni affiché, ni utilisé dans quelque fonction que ce soit.

Pour moi, le code suivant répond à ton besoin :
echo AfficheEntete($anbmar[0], "<table ><TR class=\"enteteligne\">
<TH width=30 >Réf.</th>
<TH width=120 >NOM</th>
<TH width=150 >PRENOM</th>
<TH width=120 >DATE </th>
<TH width=270 >LIEU </th>
<TH width=150 >LIBELLE</th>
<TH width=30 >PHOTO</TH></TR>"); 

// Fonction afficher entête ou non selon
function AfficheEntete($nombre, $masque='--')
{
  $resultat = "";
  if ($nombre > 0)
    $resultat = $masque;
  return $resultat;
} 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ed
 
Merci !
Sauf que... ça marche pas...
Je pense que c'est la fonction qui ne fonctionne pas !!

Mon besoin est :
<table ><TR class=\"enteteligne\">
<TH width=30 >Réf.</th>
<TH width=120 >NOM</th>
<TH width=150 >PRENOM</th>
<TH width=120 >DATE </th>
<TH width=270 >LIEU </th>
<TH width=150 >LIBELLE</th>
<TH width=30 >PHOTO</TH></TR>
Doit apparaitre si $anbmar[0]>1

et
<table ><TR class=\"enteteligne\">
<TH width=30 >Réf.</th>
<TH width=120 >NOM</th>
<TH width=150 >PRENOM</th>
<TH width=120 >DATE </th>
<TH width=270 >LIEU </th>
<TH width=150 >LIBELLE</th>
<TH width=30 >PHOTO</TH></TR>
doit disparaitre si $anbmar[0] = 0

Or avec cette fonction, le tableau est là dans les deux situations.
qqun a t il une idée ?
ed
0
ed
 
Bon, je cherche à contourner le pb...
Je me dis que des div sont plus facilement manipulables que des entetes en tables
Aussi, est-il possible dans ma fonction, d'appeler un div id="affiche" et un div id="masque" qui permettrait de faire apparaître mon tableau d'entete ou de le faire disparaitre quand ma valeur est =o ?

Je cherche surtout la syntaxe.
Merci pour toute piste.
ed
0
ed
 
up
0