Erreur affichage if(empty($resultat))
1 message Page 1 sur 1
Erreur affichage if(empty($resultat))
Bonjour,J'ai un petit soucis sur mon moteur de recherche, les résultats sortent correctement, mais mais dès lors que je tape volontairement un terme qui n'est pas dans ma BDD en lien avec ce que je recherche, il n'affiche pas mon ce qui correspond à mon :
<li class="cross"><a>Désolé, aucun élément ne correspond à votre requête</a></li>
Voici le code de mon moteur :
if (isset($_GET['search'])) {
$motrecherche = addslashes($_GET['search']);
$requete = "SELECT titre,keywords,page, h1,description,content FROM search WHERE '$motrecherche' LIKE keywords
OR keywords LIKE '%$motrecherche%' OR content LIKE '%$motrecherche%'
OR '%$motrecherche%' LIKE content
OR page LIKE '%$motrecherche%'";
$resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
if (!empty($resultat)) {
while ($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
?>
<li class="searchlink"><a href="<?php echo $donnees['page'] ?>"><?php echo $donnees['page'] ?> => <?php echo $donnees['titre'] ?></a></li><br>
<?php
}
}
if(empty($resultat)) {
?>
<li class="cross"><a>Désolé, aucun élément ne correspond à votre requête</a></li>
<?php
}
}
?>
Donc à la place de "désolé, aucun élément ne correspond à votre requête, j'ai un blanc.
Je sais que c'est un bug tout bête, mais je ne vois pas,
J'ai remanié le code de façon à échanger le sens du code, et toujours rien.
J'ai aussi essayé avec comme cela :
<?php
require('shared.php');
if (isset($_GET['search'])) {
$motrecherche = addslashes($_GET['search']);
$requete = "SELECT titre,keywords,page, h1, description,content FROM search WHERE '$motrecherche' LIKE keywords
OR keywords LIKE '%$motrecherche%' OR content LIKE '%$motrecherche%'
OR '%$motrecherche%' LIKE content
OR page LIKE '%$motrecherche%'";
$resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
if (empty($resultat)) {
echo '<li class="cross"><a>Désolé, aucun élément ne correspond à votre requête</a></li>';
}
else{
echo '<li class="titlelink"><a>Nous avons trouvé : </a></li>';
while ($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
?>
<li class="searchlink"><a href="<?php echo $donnees['page'] ?>"><?php echo $donnees['page'] ?> => <?php echo $donnees['titre'] ?></a></li><br>
<?php
}
}
}
?>
Mais quand la recherche est infructueuse, il ne m'affiche que "Nous avons trouvé",
qui correspond à la ligne :
else{
echo '<li class="titlelink"><a>Nous avons trouvé : </a></li>';
Cordialement
Page 1 sur 1