Moteur de recherche en SQL

Fermé
vek59 Messages postés 117 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 3 décembre 2015 - 26 août 2014 à 22:28
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 - 6 nov. 2015 à 10:55
Bonjour,

Je cherche à faire un moteur de recherche, pour mon site.
Or, j'ai quelques soucis pour faire ma recherche, dans ma table, disons "articles".

Disons que j'ai des articles, je recherche dans le titre :

Il y a:
- La maison bleue
- La voiture rouge
- La maison verte

Le visiteur cherche : "la maison verte"

J'aimerais, qu'en faisant un genre de "SELECT * FROM articles WHERE titre LIKE %la maison verte%"
Cela me retourne
- La maison verte
- La maison bleue

ou encore s'il recherche "la voiture verte", cela retourne :
- La voiture rouge
- La maison verte

ou encore s'il recherche "la voirure rouge" (avec une faute de frappe), cela lui retourne:
- La voiture rouge

Bref, vous avez compris le truc.
J'utilise MySQL, mais s'il faut changer, je suis partant (pour un système s'y approchant, comme Mariadb).
A voir également:

5 réponses

Bonjour,

je pense que pour faire ce que vous voulez, il faudrait que l'utilisateur saisisse dans 2 champs différents "objet" et "couleur".

De cette façon, on pourrait faire une requête du genre
"SELECT *
FROM articles
WHERE ( article LIKE "%objet%"
OR article LIKE "%couleur%") ;
2
vek59 Messages postés 117 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 3 décembre 2015 43
27 août 2014 à 10:44
up
0
vek59 Messages postés 117 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 3 décembre 2015 43
27 août 2014 à 20:01
up
0
vek59 Messages postés 117 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 3 décembre 2015 43
28 août 2014 à 17:26
Up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
6 nov. 2015 à 10:55
Bonjour,

Juste pour info, si on veut faire la requête avec des variables recupérées par un formulaire se sera comme ceci

<?php
if(isset($_REQUEST["objet" ])) {$objet= $_REQUEST["objet" ];}
else {$objet = "";}
if(isset($_REQUEST["color" ])) {$objet= $_REQUEST["color" ];}
else {$color= "";}

$query = "SELECT * ";
$query .= "FROM articles ";
$query .= "WHERE article LIKE '%$objet%' ";
$query .= "or article LIKE '%$color%' ";
$query .= ";";
$result = execute_query($query);
?>
0