Multi-recherche PHP
- Accueil
- Forum
- Programmation
- PHP
- Multi-recherche PHP
Haze Le 30 juin 2018 à 23:47 (Édité le 25 janvier 2019 à 17:54)
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 Le 4 juillet 2018 à 00:32 (Édité le 1 janvier 1970 à 01:00)
Haze Le 7 juillet 2018 à 23:32 (Édité le 1 janvier 1970 à 01:00)
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'