[RESOLU] Afficher un résultat en fonction de ...

Eléphanteau du PHP | 33 Messages

10 oct. 2014, 10:59

Bonjour,

J'utilise WP pour mon site et j'ai un moteur de recherche sur le site. J'aimerai en fonction de la recherche afficher deux phrases différentes

Si on trouve ca affiche la phrase a, sinon la phrase b cependant ca me retourne une erreur et je ne trouve pas pourquoi. Je suis très débutant :p
<?php
				if ($page_description!=null) {
					$test = echo 'Les pages du site contenant l’expression « XXX » sont les suivantes';
				elseif ($page_description=null) {
					$test = echo 'Aucun résultat ne correspond à votre recherche';	
			?>
				<div class="contenu">
					<?php echo $test ?>
				</div>
			<?php
				}
				}
			?>	
Merci pour votre aide

samuel
Invité n'ayant pas de compte PHPfrance

10 oct. 2014, 11:51

Teste cela :

if ($page_description!=null) {
$test = echo 'Les pages du site contenant l’expression « XXX » sont les suivantes';
else {
$test = echo 'Aucun résultat ne correspond à votre recherche';
}

Tu n'as pas vraiment besoins de elseif car tu as seulement deux solution si ... sinon ...
Le esleif est pour, par exemple, trier trois réponses : si ... ou si ... sinon ... (if ... elseif ... else ...)

De plus tu avais une erreur dans le elseif : $page_description=null un seul = affecte une valeur à la variable (dans ton cas, tu met nul dans la variable $page_description), à ne pas confondre avec l'opérateur de comparaison == qui réponds à $page_description est-elle égale à nul).

J'espère que cette réponse t'aura été utile et aura réglé tes premiers soucis.
Au revoir.

Thomas Esrant
Invité n'ayant pas de compte PHPfrance

10 oct. 2014, 11:52

Bonjour pouvez vous essayer comme ceci :
<?php
if ($page_description!='') 
{
$test = "Les pages du site contenant l’expression « XXX » sont les suivantes"; /// Plutôt des guillemets " que des quotes ' ou alors "échapper" l'apostrophe avec un "anti-slashe" "\" (Boutons : Alt Gr + 8)
}
else 
 {
$test =  "Aucun résultat ne correspond à votre recherche";
 }  

?>
                                <div class="contenu">
                                        <?php echo $test; ?>
                                </div>
Cela répond à votre question ?

Eléphanteau du PHP | 33 Messages

10 oct. 2014, 12:35

Merci a vous deux !

La solution de Thomas fonctionne mais pas celle de samuel. Elle crée une erreur mais je ne sais pas d'ou elle vient.

Encore merci

Thomas Esrant
Invité n'ayant pas de compte PHPfrance

10 oct. 2014, 13:34

Je pense à cause de l'apostrophe... ;)