Requete SQL pr Recherhce Multi
Résolu
muska92
Messages postés
317
Statut
Membre
-
muska92 Messages postés 317 Statut Membre -
muska92 Messages postés 317 Statut Membre -
Bonjour,
Voila je cherche une requête Sql ( pour mouteur de recherche ) avec 3 critère ( Mots clé , Catégorie, région) .
je sais y'a une requête du style :
$requete. = (....);
$requete.= ( suite .. )
mais j'en sais pas plus .
merci de rependre
Voila je cherche une requête Sql ( pour mouteur de recherche ) avec 3 critère ( Mots clé , Catégorie, région) .
je sais y'a une requête du style :
$requete. = (....);
$requete.= ( suite .. )
mais j'en sais pas plus .
merci de rependre
Configuration: Windows Vista Safari 525.13
4 réponses
-
Salut,
je ne suis pas sur de comprendre,$sql = "SELECT * FROM articles WHERE keyword='".$keyword."' AND WHERE categorie='".$cat."' AND WHERE region='".$region."';
Un truc comme ça ? -
slt;
la requête que je cherche et plus compliqué : 3 critère donc plusieurs combinaison possible :
je récupère les valeur des 3 champs avec POST donc les combinaison possible sont :
champ 1
champ 1 + champ 2
champ 1+ champ 3
champ 1 + champ 2 + champ 3
champ 2 + champ 3 -
Si j'ai compris, tu peux faire ainsi :
if(isset($_POST['keyword'])){ $where .= " WHERE keyword='".$_POST['keyword']."'" } if(isset($_POST['categorie'])){ $where .= " WHERE keyword='".$_POST['categorie']."'" } if(isset($_POST['region'])){ $where .= " WHERE keyword='".$_POST['region']."'" } $sql = "SELECT * FROM articles".$where;-
Je me permet de corriger l'exemple donné ci-dessus par :
$where = "WHERE 1=1"; if(isset($_POST['keyword'])){ $where .= " AND keyword LIKE '%".mysql_real_escape_string($_POST['keyword'])."%'"; } if(isset($_POST['categorie'])){ $where .= " AND categorie LIKE '%".mysql_real_escape_string($_POST['categorie'])."%'"; } if(isset($_POST['region'])){ $where .= " AND region LIKE '%".mysql_real_escape_string($_POST['region'])."%'"; } $sql = "SELECT * FROM articles".$where;
-
-