Sensibilite casse moteur de recherche
rake-off
Messages postés
203
Statut
Membre
-
avion-f16 Messages postés 20367 Statut Contributeur -
avion-f16 Messages postés 20367 Statut Contributeur -
Bonjour,
Je viens de creer un moteur de recherche mais j'ai un petit problem il est sensible à la casse, quand je recherche elephant ou Elephant, je n'est pas les même resultat alors que mes champs contienne obligatoirement des deux.
Voici mon code:
Merci a vous.
Cordialement.
Je viens de creer un moteur de recherche mais j'ai un petit problem il est sensible à la casse, quand je recherche elephant ou Elephant, je n'est pas les même resultat alors que mes champs contienne obligatoirement des deux.
Voici mon code:
mysql_query('SET NAMES utf8');
$result = mysql_query("SELECT count(id_prod) FROM ".$table." WHERE nom LIKE '%$search%' OR l_description LIKE '%$search%' OR categorie LIKE '%$search%'");
Merci a vous.
Cordialement.
A voir également:
- Sensibilite casse moteur de recherche
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Tele casse - Forum TV & Vidéo
- Pourquoi mon moteur de recherche change tout seul ✓ - Forum Virus
- Copernic moteur de recherche - Télécharger - Utilitaires
4 réponses
Bonjour,
Pour ne pas que ta recherche soit sensible à la casse il suffit de passer ce que la personne cherche en majuscule et de le comparer au résultat de ta base en majuscule.
Voici ce que donnerait ta requete :
$result = mysql_query("SELECT count(id_prod) FROM ".$table." WHERE UPPER(nom) LIKE UPPER('%$search%') OR UPPER(l_description) LIKE UPPER('%$search%') OR UPPER(categorie) LIKE UPPER('%$search%')");
Voilà j'espère que ça va t'aider !
Pour ne pas que ta recherche soit sensible à la casse il suffit de passer ce que la personne cherche en majuscule et de le comparer au résultat de ta base en majuscule.
Voici ce que donnerait ta requete :
$result = mysql_query("SELECT count(id_prod) FROM ".$table." WHERE UPPER(nom) LIKE UPPER('%$search%') OR UPPER(l_description) LIKE UPPER('%$search%') OR UPPER(categorie) LIKE UPPER('%$search%')");
Voilà j'espère que ça va t'aider !
Non en fait ça met tout en majuscule et ça le compare avec quelque chose qui est aussi mis en majuscule.
Mais ça le met en majuscule que pour le comparer, ce qui va être affiché n'est pas mis en majuscule.
Mais ça le met en majuscule que pour le comparer, ce qui va être affiché n'est pas mis en majuscule.
+1 à Passarinho44
Par contre, -1 pour rack-off : tu aurais pu trouver ça en tapant "SQL LIKE casse insensitive" dans Google
Par contre, -1 pour rack-off : tu aurais pu trouver ça en tapant "SQL LIKE casse insensitive" dans Google