Requete SQL
Posté : 08 août 2006, 20:45
J'ai un formulaire de recherche qui contient une zone de texte et un bouton.
J'ai aussi une base de données mysql
Je veux créer une requête sql type google avec un nombre non limité de mot clés et d'opérateurs : exemple :
france et paris ou espagne et sport...
j'utilise le php comme language.
J'ai trouvé ce code mais çame créé deux problème :
2- Si j'ai un mot clé composé ( exemple : tour effel), il me separe tour et effel et me met : tour OR effel
Un ami m'a proposé ce code, mais ça génére une parse erreur :
Merci pour votre aide.
J'ai aussi une base de données mysql
Je veux créer une requête sql type google avec un nombre non limité de mot clés et d'opérateurs : exemple :
france et paris ou espagne et sport...
j'utilise le php comme language.
J'ai trouvé ce code mais çame créé deux problème :
$search = $_POST['search'];
$explode = explode(" ", $search);
$search = "motcle LIKE '%" . implode("%' OR motcle LIKE '%", $explode) . "%'";
$sql = "SELECT * FROM Imb_motcles WHERE ($search) ORDER BY motcle ASC";
1- il prend seulement OR comme opérateur, alors qu'il faut mettre l'opérateur récupéré de la zone de texte ( soit or , soit and ...)2- Si j'ai un mot clé composé ( exemple : tour effel), il me separe tour et effel et me met : tour OR effel
Un ami m'a proposé ce code, mais ça génére une parse erreur :
$search = $_POST['search'];
$separateur = array(" ", "+");
$separateursql = array(" "%'" and motcle like '%" ", " "%'" or motcle like '%" ");
$search = str_replace($separateur, $separateursql, $search);
$sql = "SELECT * FROM Imb_motcles WHERE ( motcle like '%" $search "%'" ) ORDER BY motcle ASC";
Merci pour votre aide.