Page 1 sur 1

affiché un texte selon une condition

Posté : 30 juin 2016, 11:09
par blinz
Salut à tous.
J'essai d'afficher un texte différent selon le choix de l'utilisateur mais je rencontre un proiblème , il l'applique le même texte peut importe la région ...
<?php	
		// Rhone alpes
		if (!empty($_REQUEST['region']) && $_REQUEST['region'] = 'Rhône-Alpes')  {
		echo '<div class="panel-group accordion-faq" id="faq-accordion">
            <div class="panel">
              <div class="panel-heading"> <a data-toggle="collapse" data-parent="#faq-accordion" href="#question6" class="collapsed"> <span class="arrow-down">+</span> <span class="arrow-up">–</span><strong>Idées de sorties en '.$aRegion[$region_id].'</strong><br><p>Vous êtes à la recherche d\'une <strong>sortie en famille</strong> ou entre amis, retrouvez des <strong>idées de sortie</strong> sur lasortie.fr.</p></a> </div>
              <div id="question6" class="panel-collapse collapse">
              texte ...
              </div>
            </div>
          </div>';	
		}	
		
		
		elseif (!empty($_REQUEST['region']) && empty($_REQUEST['ville']))  {	
		// On affiche les dernieres sorties concert enregistrées de la ville renseignée
		$exemple_loisirs = ("SELECT * FROM `loisirs` WHERE id_region = '".$region_id."' GROUP BY `loisirs`.`id_type_loisirs`");
		$req = $bdd->query($exemple_loisirs);	
		while($sortie = $req->fetch(PDO::FETCH_ASSOC)){  
		
		// Formatage des date en fr
		$dated = DateTime::createFromFormat('Y-m-d H:i:s', $sortie['date_debut_sortie']);
		$date_loisir = $sortie['date_debut_sortie'] = ucfirst($jour[$dated->format('N')]).' '.$dated->format('d').' '.ucfirst($mois[$dated->format('n')]).' '.$dated->format('Y');
		
			// Texte selon le genre de loisirs
			if ($sortie['id_type_loisirs'] == 10) {
				$mavariable .=  'blabla...';
			}
		}
			
		
		// Par région
		echo'<div class="panel-group accordion-faq" id="faq-accordion">
            <div class="panel">
              <div class="panel-heading"> <a data-toggle="collapse" data-parent="#faq-accordion" href="#question6" class="collapsed"> <span class="arrow-down">+</span> <span class="arrow-up">–</span><strong>Idées de sorties en '.$aRegion[$region_id].'</strong><br><p>Vous êtes à la recherche d\'une <strong>sortie en famille</strong> ou entre amis, retrouvez des <strong>idées de sortie</strong> sur lasortie.fr.</p></a> </div>
              <div id="question6" class="panel-collapse collapse">
                <div class="panel-body">'.$mavariable.'</div>
              </div>
            </div>
          </div>';
			// ....... blabla

Merci à vous

Re: affiché un texte selon une condition

Posté : 30 juin 2016, 11:25
par tof73
== pour comparer et non =

Re: affiché un texte selon une condition

Posté : 30 juin 2016, 12:31
par moogli
== pour comparer et non =
Il faut parfois être plus prolixe :)

en clair pour blinz
<?php
// affection qui se passe toujours bien donc le if est toujours vrai si région est dans $_REQUEST
$_REQUEST['region'] = 'Rhône-Alpes' 
// comparaison
$_REQUEST['region'] == 'Rhône-Alpes'
// comparaison avec type : 42 ne sera pas égale à '42' car les type sont différents (int vs string)
$_REQUEST['region'] === 'Rhône-Alpes'

@+

Re: affiché un texte selon une condition

Posté : 30 juin 2016, 13:08
par blinz
Je crains aujourd'hui car je n(y arrive pas voilà exactement ce que j'ai:
En gros si c'est rhone alpes tu fait ca, si c'est différent de rhone alpes tu fait ca ...
Et pourtant avec le code ci-dessous il n'applique que le texte généré si une région est renseignée et pas quand c'est rhone-alpes...
<?php	
    // Rhone alpes
    if (!empty($_REQUEST['region']) && $_REQUEST['region'] == 'Rhône-Alpes')  {
    echo '<div class="panel-group accordion-faq" id="faq-accordion">
            <div class="panel">
              <div class="panel-heading"> <a data-toggle="collapse" data-parent="#faq-accordion" href="#question6" class="collapsed"> <span class="arrow-down">+</span> <span class="arrow-up">–</span><strong>Idées de sorties en '.$aRegion[$region_id].'</strong><br><p>Vous êtes à la recherche d\'une <strong>sortie en famille</strong> ou entre amis, retrouvez des <strong>idées de sortie</strong> sur lasortie.fr.</p></a> </div>
              <div id="question6" class="panel-collapse collapse">
              texte ...
              </div>
            </div>
          </div>';	
    }	
		
		
		elseif (!empty($_REQUEST['region']) && $_REQUEST['region'] != 'Rhône-Alpes'  && empty($_REQUEST['ville']))  {	
		// On affiche les dernieres sorties concert enregistrées de la ville renseignée
		$exemple_loisirs = ("SELECT * FROM `loisirs` WHERE id_region = '".$region_id."' GROUP BY `loisirs`.`id_type_loisirs`");
		$req = $bdd->query($exemple_loisirs);	
		while($sortie = $req->fetch(PDO::FETCH_ASSOC)){  
		
		// Formatage des date en fr
		$dated = DateTime::createFromFormat('Y-m-d H:i:s', $sortie['date_debut_sortie']);
		$date_loisir = $sortie['date_debut_sortie'] = ucfirst($jour[$dated->format('N')]).' '.$dated->format('d').' '.ucfirst($mois[$dated->format('n')]).' '.$dated->format('Y');
		
			// Texte selon le genre de loisirs
			if ($sortie['id_type_loisirs'] == 10) {
				$mavariable .=  'Laissez vous tenter par une <strong>sortie concert</strong> et retrouvez par exemple: '.ucfirst(strtolower($sortie['titre'])).' à <strong>'.ucfirst(strtolower($sortie['city'])).' </strong> le '.$date_loisir.'.<br>';
			} elseif ($sortie['id_type_loisirs'] == 11) {
				$mavariable .= 'Vous ressentez une folle envie de vous changer les <em>idées</em> ? Retrouvez sur scéne '.ucfirst(strtolower($sortie['titre'])).' à <strong>'.ucfirst(strtolower($sortie['city'])).'</strong>.'.' Pour un <strong>spectacle</strong> à ne pas louper !<br>';
			} elseif ($sortie['id_type_loisirs'] == 4) {
				$mavariable .= 'Vide-grenier, il est venu le temps de chiner ! Oui les français ne se lasse pas des <strong>vide-greniers</strong> et <strong>brocante</strong> proche de chez eux. Que vous soyez à la recherche des bonnes affaires en tant que acheteur ou vendeur, Ne louper pas ce vide-grenier: '.ucfirst(strtolower($sortie['titre'])).' à '.ucfirst(strtolower($sortie['city'])).'<br>';
			} elseif ($sortie['id_type_loisirs'] == 13) {
				$mavariable .= 'A la recherche d\'une <strong>visite</strong> à faire en famille ou entre amis, vous êtes à la recherche de <em>monument historique</em> à <strong>visiter</strong> ? Venez décourvrir: '.ucfirst(strtolower($sortie['titre'])).' à '.ucfirst(strtolower($sortie['city'])).'<br>';
			} elseif ($sortie['id_type_loisirs'] == 8) {
				$mavariable .= 'Côté exposition, peut-être serez vous tentez pas une <strong>sortie culturelle</strong> avec cette <strong>sortie exposition</strong>: '.ucfirst(strtolower($sortie['titre'])).' à <strong>'.ucfirst(strtolower($sortie['city'])).'</strong>.'.'<br>'; 
			} elseif ($sortie['id_type_loisirs'] == 18) {
				$mavariable .= 'Aujourd\'hui la météo c\'est pas ca ? Profitez en pour faire une <strong>sortie cinéma</strong> avec: '.ucfirst(strtolower($sortie['titre'])).' à <strong>'.ucfirst(strtolower($sortie['city'])).'</strong> à partir de '.$sortie['horaire_debut'].', osez l\'originalité.<br>';
			} elseif ($sortie['id_type_loisirs'] == 7) {
				$mavariable .= 'En tant que passionné(e) de sport vous ne pouvez l\'immanquable avec ce <strong>rendez-vous sportif</strong> '.ucfirst(strtolower($sortie['titre'])).' à partir de '.$sortie['horaire_debut'].' à <strong>'.ucfirst(strtolower($sortie['city'])).'</strong>.<br>';
			}   
		}
			
		
		// Par région
		echo'<div class="panel-group accordion-faq" id="faq-accordion">
            <div class="panel">
              <div class="panel-heading"> <a data-toggle="collapse" data-parent="#faq-accordion" href="#question6" class="collapsed"> <span class="arrow-down">+</span> <span class="arrow-up">–</span><strong>Idées de sorties en '.$aRegion[$region_id].'</strong><br><p>Vous êtes à la recherche d\'une <strong>sortie en famille</strong> ou entre amis, retrouvez des <strong>idées de sortie</strong> sur lasortie.fr.</p></a> </div>
              <div id="question6" class="panel-collapse collapse">
                <div class="panel-body">'.$mavariable.'</div>
              </div>
            </div>
          </div>';
			
		// Par ville
		}elseif (!empty($_REQUEST['region']) && !empty($_REQUEST['ville']))  {
			
		// On affiche les dernieres sorties de la ville renseignée
		$exemple_loisirs = ("SELECT * FROM `loisirs` WHERE city = '".$_REQUEST['ville']."' GROUP BY `loisirs`.`id_type_loisirs`");
		$req = $bdd->query($exemple_loisirs);	
		while($sortie = $req->fetch(PDO::FETCH_ASSOC)){  	
		
		// Formatage des date en fr
		$dated = DateTime::createFromFormat('Y-m-d H:i:s', $sortie['date_debut_sortie']);
		$date_loisir = $sortie['date_debut_sortie'] = ucfirst($jour[$dated->format('N')]).' '.$dated->format('d').' '.ucfirst($mois[$dated->format('n')]).' '.$dated->format('Y');
		
			// Texte selon le genre de loisirs
			if ($sortie['id_type_loisirs'] == 10) {
				$mavariable .=  'Laissez vous tenter par une <strong>sortie concert</strong> et retrouvez par exemple: '.ucfirst(strtolower($sortie['titre'])).' à <strong>'.ucfirst(strtolower($sortie['city'])).' </strong> le '.$date_loisir.'.<br>';
			} elseif ($sortie['id_type_loisirs'] == 11) {
				$mavariable .= 'Vous ressentez une folle envie de vous changer les <em>idées</em> ? Retrouvez sur scéne '.ucfirst(strtolower($sortie['titre'])).' à <strong>'.ucfirst(strtolower($sortie['city'])).'</strong>.'.' Pour un <strong>spectacle</strong> à ne pas louper !<br>';
			} elseif ($sortie['id_type_loisirs'] == 4) {
				$mavariable .= 'Vide-grenier, il est venu le temps de chiner ! Oui les français ne se lasse pas des <strong>vide-greniers</strong> et <strong>brocante</strong> proche de chez eux. Que vous soyez à la recherche des bonnes affaires en tant que acheteur ou vendeur, Ne louper pas ce vide-grenier: '.ucfirst(strtolower($sortie['titre'])).' à '.ucfirst(strtolower($sortie['city'])).'<br>';
			} elseif ($sortie['id_type_loisirs'] == 13) {
				$mavariable .= 'A la recherche d\'une <strong>visite</strong> à faire en famille ou entre amis, vous êtes à la recherche de <em>monument historique</em> à <strong>visiter</strong> ? Venez décourvrir: '.ucfirst(strtolower($sortie['titre'])).' à '.ucfirst(strtolower($sortie['city'])).'<br>';
			} elseif ($sortie['id_type_loisirs'] == 8) {
				$mavariable .= 'Côté exposition, peut-être serez vous tentez pas une <strong>sortie culturelle</strong> avec cette <strong>sortie exposition</strong>: '.ucfirst(strtolower($sortie['titre'])).' à <strong>'.ucfirst(strtolower($sortie['city'])).'</strong>.'.'<br>'; 
			} elseif ($sortie['id_type_loisirs'] == 18) {
				$mavariable .= 'Aujourd\'hui la météo c\'est pas ca ? Profitez en pour faire une <strong>sortie cinéma</strong> avec: '.ucfirst(strtolower($sortie['titre'])).' à <strong>'.ucfirst(strtolower($sortie['city'])).'</strong> à partir de '.$sortie['horaire_debut'].', osez l\'originalité.<br>';
			} elseif ($sortie['id_type_loisirs'] == 7) {
				$mavariable .= 'En tant que passionné(e) de sport vous ne pouvez l\'immanquable avec ce <strong>rendez-vous sportif</strong> '.ucfirst(strtolower($sortie['titre'])).' à partir de '.$sortie['horaire_debut'].' à <strong>'.ucfirst(strtolower($sortie['city'])).'</strong>.<br>';
			}   
		}
		

		echo'<div class="panel-group accordion-faq" id="faq-accordion">
            <div class="panel">
              <div class="panel-heading"> <a data-toggle="collapse" data-parent="#faq-accordion" href="#question6" class="collapsed"> <span class="arrow-down">+</span> <span class="arrow-up">–</span><strong>Idées de sorties à '.$_REQUEST['ville'].'</strong><br><p>Vous êtes à la recherche d\'une <strong>sortie en famille</strong> ou entre amis, retrouvez des <strong>idées de sortie</strong> sur lasortie.fr.</p></a> </div>
              <div id="question6" class="panel-collapse collapse">
                <div class="panel-body">'.$mavariable.'</div>
              </div>
            </div>
          </div>';
		}
		
		
		?>

Re: affiché un texte selon une condition

Posté : 30 juin 2016, 13:30
par moogli
c'est ce cas qui est toujours exécuté : } elseif (!empty($_REQUEST['region']) && $_REQUEST['region'] != 'Rhône-Alpes' && empty($_REQUEST['ville'])) { ?

as tu afficher le contenu de $_REQUEST ?
= var_dump($_REQUEST); avant le if ?
Tu pourras vérifier ce qu'il contient.
tu peux avoir u problème de casse, d'encodage ou même d'accent.

si cela vient d'une combo (select html) est ce que tu es certain d'avoir le nom de la région ne value ?


@+

Re: affiché un texte selon une condition

Posté : 30 juin 2016, 13:36
par yoann38
Pu... merci.
Quel boulet,
Effctivement un petit echo de $_REQUEST['region'] aide beaucoup.
// Rhone alpes
	//echo $_REQUEST['region'];
    if (!empty($_REQUEST['region']) && $_REQUEST['region'] == 'rhone-alpes')  {
Je ne récupérer pas la bonne valeur....
PS:
Si j'ai plusieur à region à mettre en tant que différent que dans :
elseif (!empty($_REQUEST['region']) && $_REQUEST['region'] != 'Rhône-Alpes'  && empty($_REQUEST['ville']))  {
exemple je souhaite rajouté Auvergne, je fait juste ca ?
elseif (!empty($_REQUEST['region']) && $_REQUEST['region'] != 'Rhône-Alpes','Auvergne'  && empty($_REQUEST['ville']))  {
Merci encore

Re: affiché un texte selon une condition

Posté : 30 juin 2016, 14:35
par Spols
Non il faudra expliciter la condition pour chaque région

elseif (!empty($_REQUEST['region']) && $_REQUEST['region'] != 'Rhône-Alpes' && $_REQUEST['region'] != 'Auvergne' && empty($_REQUEST['ville'])) {

ou si tu as beaucoup de région
elseif (!empty($_REQUEST['region']) && !in_array($_REQUEST['region'], array('Rhône-Alpes', 'Auvergne')) && empty($_REQUEST['ville'])) {
Je retiens jamais l'ordre des paramètre de in_array() donc à vérifier.