Se connecter avec
S'enregistrer | Connectez-vous

PHP Afficher les résultats par occurences les plus trouvées

Dernière réponse : dans Programmation

Salut à tous,

qu'elle est la requête qui me permet d'afficher les résultats par occurences les plus trouvées.

Voyez mon exemple: http://kclc.free.fr/prob.jpg

La premiere partie est ce qui se trouve dans la base (1 champs dans 1 table).

La deuxième partie est l'affichage que je souhaiterai avoir.
Les couleurs ne m'intéressent pas, c'était simplement pour vous illustrer mon problème.


Je pourrais réaliser ce que je vous demande en "décortiquant" chaque mot de chaque enregistrement puis en comparant à chaque enregistrement etc etc... mais je suis persuadé qu'il existe une solution / syntaxe bien plus simple et plus rapide


Merci d'avance
Lassé par la pub ? Créez un compte

La solution que tu m'avais fonctionne très bien et je m'en sert beaucoup, mais elle ne m'aide pas dans ce cas.
Cette fois ci par exemple "Piece aluminium moteur" est un seul champs.
Ce que je cherche a faire n'est pas classer par rapport au nombre de fois que l'on va trouver "Piece aluminium moteur" dans la table, mais par rapport au nombre de fois que je vais trouver le mot 'piece' puis 'aluminium' puis 'moteur' mais sans que j'ai besoin de spécifier à chaque fois les mots.

Un truc qui m'affiche les valeurs qui se ressemblent le plus jusqu'a celles qui se ressemblent le moins.

Désolé si je me fais mal comprendre.

Merci!
Expert Programmation

  1. select PHRASE
  2. from TABLE_DES_PHRASES
  3. order by ( select count ( * )
  4. from TABLE_DES_MOTS
  5. where PHRASE like '% ' || MOT || ' %' or
  6. PHRASE like MOT || ' %' or
  7. PHRASE like '% ' || MOT )

( où || est l'opérateur de concaténation ).
Ca peut marcher, mais bonjour la complexité.
Lassé par la pub ? Créez un compte