Connexion | Inscription | FAQ
Anonymous

Erreur affichage if(empty($resultat))

+ Publier une réponse

1 message Page 1 sur 1


Erreur affichage if(empty($resultat))

par pjulienne » Dim Mai 06, 2018 11:26 am

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
Avatar de l’utilisateur

pjulienne

  • Messages: 2
  • Inscrit le: Sam Avr 07, 2018 1:12 pm


+ Publier une réponse

Page 1 sur 1

cron