Bonsoir à tous,
J'ai dans ma page un formulaire de recherche classique avec une entrée :
On peut y taper une chaîne de caractères, voire plusieurs. Lorsqu’on l'envoie, $mot_cle est alors comparé avec les valeurs d'un champ pseudonyme dans une table liste. Voici la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="text" name="mot_cle" />
Comme vous le voyez, cette requête fonctionne très bien lorsque $mot_cle contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM liste WHERE pseudonyme LIKE '%$pseudo_professionnel%'
-> soit exactement les mêmes caractères dans le même ordre qu’une ou plusieurs valeurs du champ pseudonyme dans la base
-> soit une sous chaîne d'une chaîne contenue dans le champ pseudonyme dans la base
En revanche, si par malheur $mot_cle contient une sous chaîne ou une chaîne (qui est égale à une chaîne ou une sous chaîne d’une ou plusieurs valeurs du champ pseudonyme dans la base) mais que que cette variable contient en outre d'autres caractères, l’occurrence est considérée comme fausse et il n’y a pas de résultat le cas échéant![]()
Concrètement, si :
$mot_cle="luc programmation"
…et que dans la base à une certaine ligne j’ai :
pseudonyme="luc"
Eh bien aucun résultats n’en résulte malgré la présence de la sous chaîne "luc" dans $mot_cle.
Vous l’avez compris, je souhaiterais augmenter un peu la tolérance de sélection en modifiant par exemple la requête… même si avec mes maigres connaissances ça n’est pas chose aisé
Merci pour votre aide
Partager