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.