Sensibilite casse moteur de recherche

rake-off Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
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:
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:

4 réponses

Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
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 !
1
rake-off Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   1
 
merci bien, mais en faisant sa on verifie que si tout est en majuscule et tout en minuscule non??
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
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.
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
+1 à Passarinho44
Par contre, -1 pour rack-off : tu aurais pu trouver ça en tapant "SQL LIKE casse insensitive" dans Google
0