Multi-recherche PHP

Suivre ce topic
Ce topic est suivi par : Haze
Haze

Haze Le 30 juin 2018 à 23:47 (Édité le 25 janvier 2019 à 17:54)

Bonjour !
Je débute dans le PHP, et je me suis lancé comme "défie" de réaliser un site simple n'utilisant qu'une barre de recherche, avec une BDD bien fourni et un espace de création d'articles etc..
Seulement je bloque dès le début !!
<meta charset="utf-8" />
<?php

$bdd = new PDO('mysql:host=;dbname=', '', '');

 $articles = $bdd->query('SELECT * FROM articles ORDER BY id DESC');
if(isset($_GET['q']) AND !empty($_GET['q']) OR (isset($_GET['ville']) AND !empty($_GET['ville']))) {
   $q = htmlspecialchars($_GET['q']);
   $ville = htmlspecialchars($_GET['ville']);
   $articles = $bdd->query('SELECT * FROM articles WHERE titre LIKE "%'.$q.'% OR ville LIKE %'.$ville.'% " ORDER BY id DESC');
   if($articles->rowCount() == 0) {
      $articles = $bdd->query('SELECT * FROM articles WHERE CONCAT(titre, ville) LIKE "%'.$q.'% OR %'.$ville.'%" ORDER BY id DESC');
   }
}

?>
<form method="GET" >
   <input type="search" name="q" placeholder="Recherche..."/>
   <input type="search" name="ville" placeholder="Ville, Pays..."/>
   <input type="submit" value="Valider"/>
   
  
    
   
</form>

<?php if($articles->rowCount() > 0) { ?>
   <ul>
   <?php while($a = $articles->fetch()) { ?>
      <li><?= $a['titre'] ?> - <?= $a['ville'] ?></li>
      
            

   <?php } ?>
   </ul>
<?php } else { ?>
Aucun résultat pour: <?= $q ?>...
<?php } ?>

Le problème est que je souhaite faire plusieurs barre de recherche ( une pour la ville, le nom, etc.. ), mais dès le début cela m'affiche tout ce que contient ma base, puis, quand je lance une recherche, cela me renvoie au ELSE  "aucun résultat pour : .. "

Je vous remercie d'avance pour votre aide !
Profil introuvable

Profil introuvable Le 4 juillet 2018 à 00:32

Hello 'Haze',

Tout d'abord, as-tu déjà suivi ce tutoriel ?
Haze

Haze Le 7 juillet 2018 à 23:32

Bonjour Jerem !
J'ai réussi à faire le tuto de Primefx, donc avec une barre de recherche. Mon objectif est maintenant de créer deux barre de recherche pour filtré. Par exemple si dans le champ "nom" je cherche 'jack' et dans le champ "ville" je met rien, il me retourne tout les nom qui 'jack'. Maintenant si je met 'jack' dans le champ "nom" et dans le champ "ville" je met 'paris', je veux afficher seulement les 'jack' qui habite 'paris'
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte