Faire afficher un bloc sa variable dynamiquement

Résolu
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015 - 5 févr. 2014 à 12:33
jordane45 Messages postés 38211 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 juin 2024 - 5 févr. 2014 à 14:22
Bonjour,
je veux faire afficher le bloc et sa variable dynamiquement quant la variable est non nul et ne pas afficher quand la variable est nul.

Le code

<div class="casting_description" style=" border:solid 1px #999999; background:#EAEAEA; border-radius:2px;"><!-- critère de recherche -->
		 <?php
		function show_caract($id,$valeur){
		    echo"
			<a href="#" title="voir les castings ayant ce critère" class="competence-annonce">? $id.":".$valeur </a>"
		     }
			if($criCorpulence!=''){
			 show_caract("corpulence:",$criCorpulence);
			}
			elseif($criEyesColor!=''){ 
			show_caract("couleur des yeux:",$criEyesColor);
			}
			elseif($criSkinColor!=''){
			show_caract("Couleur de Peau:",$criSkinColor);
			}
			elseif($criWeightFrom!=''&& $criWeightTo!=''){
			show_caract("Taille:",$criWeightFrom "a" $criWeightTo,"m");
			}
			/*affichage de la corpulence,la couleur des yeux et la taille*/
			elseif($criCorpulence!=''&& $criEyesColor!=''){
			show_caract("corpulence:",$criCorpulence,"couleur des yeux:",$criEyesColor);
			}
			elseif($criCorpulence!=''&& $criSkinColor!=''){
			show_caract("corpulence:",$criCorpulence,"Couleur de Peau:",$criSkinColor);
			}
			elseif($criCorpulence!=''&& $criWeightFrom!=''&& $criWeightTo!=''){
			show_caract("corpulence:",$criCorpulence,"Taille:",$criWeightFrom, "a" ,$criWeightTo,"m");
			}
			/*affichage de la couleur de la peau, couleur des yeux et la taille*/
			elseif($criEyesColor!=''&& $criSkinColor!=''){
			show_caract("couleur des yeux:",$criEyesColor,"Couleur de Peau:",$criSkinColor);
			}
			elseif($criEyesColor!=''&& $criWeightFrom!=''&& $criWeightTo!=''){
			show_carat("couleur des yeux:",$criEyesColor,"Taille:",$criWeightFrom "a" $criWeightTo,"m");
			}
			elseif($criSkinColor!=''&& $criWeightFrom!=''&& $criWeightTo!=''){
			show_carat("Couleur de Peau:",$criSkinColor,$criEyesColor,"Taille:",$criWeightFrom "a" $criWeightTo,"m");
			}
			/*affichage de toutes les caracteristique du casting*/
			elseif($criSkinColor!=''&& $criWeightFrom!=''&& $criWeightTo!=''&& $criCorpulence!=''&& $criEyesColor!=''){
			show_carat("Couleur de Peau:",$criSkinColor,"Taille:",$criWeightFrom "a" $criWeightTo,"corpulence:",$criCorpulence,"couleur des yeux:",$criEyesColor);
			}
			
			?>
			
			  
        </div> 

5 réponses

jordane45 Messages postés 38211 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 juin 2024 344
5 févr. 2014 à 12:42
Attention avec les If imbriqués...

Là, tu testes si $criCorpulence!='' et si ce n'est pas le cas tu regarde dans le (elseif) suivant...
Donc.. dès que l'une de tes conditions sera vrai..il n'ira pas voir les autres....

Il faut que tu fasses des blocs "if" pour chacun de tes critères..

if($criCorpulence!=''){
 show_caract("corpulence:",$criCorpulence);
}

if($criEyesColor!=''){ 
 show_caract("couleur des yeux:",$criEyesColor);
}

if($criSkinColor!=''){
 show_caract("Couleur de Peau:",$criSkinColor);
}




0
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015
5 févr. 2014 à 12:57
mais actuellement quand je lance dans le navigateur on me signifie qu'il ya des erreurs a la ligne 6

voila ce qui s'affiche dans le navigateur:
Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\xampp_\htdocs\nid2stars\castings_postuler.php on line 250
0
NHenry Messages postés 15137 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 23 juin 2024 159
Modifié par NHenry le 5/02/2014 à 13:06
Il te manque un ; à la fin de ta chaine et tu n'as pas échapper les " de l'ancre avec \
0
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015
5 févr. 2014 à 13:17
s'il vous plait comment on échappe l'ancre
0
jordane45 Messages postés 38211 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 juin 2024 344
5 févr. 2014 à 14:22
Nhenry t'a donné la réponse...
tu n'as pas échapper les " de l'ancre avec \
Penses également que tu disposes d'un moteur de recherche... google est ton ami comme on dit... et en tapant "PHP Échapper caractères " tu aurais pu trouver :
http://www.php.net/manual/fr/language.types.string.php
0

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

Posez votre question
jordane45 Messages postés 38211 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 juin 2024 344
5 févr. 2014 à 14:17
Tu as un message d'erreur à la ligne 6 ??
( pourquoi ne pas avoir commencé par nous dire ça ???)

Enfin bon...

Ligne 6 => C'est la fin de ta fonction...
Si il te dit qu'il y a une erreur à la ligne 6.. c'est soit qu'il y a une erreur à cette ligne là.. soit une ligne plus haut ( ou quelques lignes plus haut)...
Donc...on va regarder le code de ta fonction

function show_caract($id,$valeur){
    echo "<a href="#" title="voir les castings ayant ce critère" 
                   class="competence-annonce">? $id.":".$valeur </a>"
     }


Il semble que tu ais un souci sur cette partie du code :
">? $id.":".$valeur </a>"

- Tes " ne sont pas biens situés... et tu en as oublié....
- De plus.. tu utilises des " au milieu d'autres " ... il faut donc :
Soit les remplacer par des quotes simple, soit les "echapper" ( en utilisant le \ )
- enfin.. tu as aussi oublié un point-virgule à la fin...
function show_caract($id,$valeur){
    echo "<a href='#' title='voir les castings ayant ce critère' 
                   class='competence-annonce'>".$id.":".$valeur." </a>";
     }


NB : Lorsque tu as des messages d'erreur... DIS LE NOUS et MONTRE LES NOUS !

NB2 : Prends le temps de regarder ces messages d'erreur et d'en comprendre la raison avant même de venir nous poser la question...
Vu le nombre d'erreurs dans cette simple ligne de code.. tu aurais du, au moins en trouver une partie tout seul..non ??
0
Rejoignez-nous