Pas sûr d'être clair mais en fait j'ai eu le malheur de prendre OVH pour un hébergement mutualisé et ils ne donnent pas accès à la version 4.01 de MySQL et donc pas accès aux interclassement en UTF-8 pour gérer les caractères asiatiques.
J'utilisais la fonction FULLTEXT pour avoir les résultats d'une requête avec un ordre de pertinence mais du coup, les données sont transformées en signes latin incompréhensibles et la fonction FULLTEXT ne marche plus...
Me revoilà donc avec un LIKE ou REGEXP mais le order by se fait par ordre alphabétique et ça ne m'arrange pas. Par exemple :
Il faudrait que tu voies ma maison
La maison est bleue
Maison
Voilà comment seront sorties les résultats pour la recherche du mot 'maison'.
Je voudrais que les lignes commençant par 'maison' sortent en premier puis les lignes suivantes.
J'ai essayé ça :
SELECT * FROM dico WHERE fr REGEXP ('^" .htmlspecialchars(addslashes( $critere )) . "') ORDER BY fr ASC limit ".$depart.",".$na."";
SELECT * FROM dico WHERE fr REGEXP ('" .htmlspecialchars(addslashes( $critere )) . "') AND fr NOT LIKE ('" .htmlspecialchars(addslashes( $critere )) . "%') ORDER BY fr ASC limit ".$depart.",".$na."";
Mais avec la boucle while, je n'arrive pas à gérer l'affichage page par page...
Comment faire ??