Requete SQL pr Recherhce Multi

Résolu/Fermé
muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 - 14 nov. 2008 à 11:36
muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 - 14 nov. 2008 à 17:49
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
A voir également:

4 réponses

nicorz Messages postés 100 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 12 janvier 2011 19
14 nov. 2008 à 11:50
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 ?
0
muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 42
14 nov. 2008 à 11:53
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
0
nicorz Messages postés 100 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 12 janvier 2011 19
14 nov. 2008 à 11:58
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;


0
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;
0
muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 42
14 nov. 2008 à 17:49
Merci beaucoup les gars pour votre aide.
ça marche
0