Probleme barre de recherhe

pirlo95

pirlo95 Le 4 mars 2017 à 17:05 (Édité le 25 janvier 2019 à 17:53)

Bonjour,



J'ai mis le meme code que dans le tuto sur "faire une barrde recherche" et lorsque je fais une recherche d'un pseudo,(j'ai modifie le code pour faire une recherche
d'ami) cela m'emmene ver une page blanche...

De plus dans l'url il y a ecrit q= "ce que je recherche"

voici mon code :
<?php

$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre;charset=utf8','root','');

$utilisateur = $bdd->query('SELECT pseudo FROM membres ORDER BY id DESC');
if(isset($_GET['q']) AND !empty($_GET['q'])) {
   $q = htmlspecialchars($_GET['q']);
   $utilisateur = $bdd->query('SELECT pseudo FROM membres WHERE pseudo LIKE "%'.$q.'%" ORDER BY id DESC');
   if($utilisateur->rowCount() == 0) {
      $utilisateur = $bdd->query('SELECT pseudo FROM membres WHERE CONCAT(pseudo) LIKE "%'.$q.'%" ORDER BY id DESC');
   }
}
?>
<form method="GET">
   <input type="search" name="q" placeholder="Recherche..." />
   <input type="submit" value="Valider" />
</form>
<?php if($utilisateur->rowCount() > 0) { ?>
   <ul>
   <?php while($a = $utilisateur->fetch()) { ?>
      <li><?= $a['pseudo'] ?></li>
   <?php } ?>
   </ul>
<?php } else { ?>
Aucun résultat pour: <?= $q ?>...
<?php } ?>


Merci de votre aide et bonne journée!!
Profil introuvable

Profil introuvable Le 4 mars 2017 Ă  19:06

Bonjour,
Je n'ai toujours pas compris pourquoi ce code donne une page blanche mais j'ai plusieurs questions :
1 - Pourquoi donnes-tu une valeur Ă  ta variable $utilisateur (ligne 5) alors que tu l'Ă©crase ensuite avec la requĂŞte suivante (ligne 8) ?
$utilisateur = $bdd->query('SELECT pseudo FROM membres WHERE pseudo LIKE "%'.$q.'%" ORDER BY id DESC');
2 - Je ne comprends pas pourquoi tu relance la même requête, à l’exception près que tu crées une concaténation (ligne 10), si ne nombre de résultat est égal à zéro.
3 - En sql, la concaténation à deux valeur (sinon cela ne sert à rien). Dans ta requête ligne 10, il n'y en a qu'une seule. A moins que je me trompe, enlève cette ligne et la condition qui va avec et réessaie.

En espérant avoir pu t'aider, Z Fire
drtyrf

drtyrf Le 10 mars 2017 Ă  18:33

Bonjour, comment peut t-on mettre le nom de la recherche dans le titre de notre site et quand on est sur ma page d'accueil et que l'on recherche quelque chose comment l'envoyé sur ma page de recherche?
Profil introuvable

Profil introuvable Le 10 mars 2017 à 20:16 (Édité le 10 mars 2017 à 20:16)

Dans ton cas :
<title>Recherche pour <?= $q ?> sur monSite</title>
Ton code fonctionne maintenant ?
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte