Bonjour,
Je développe un site internet et j'ai 3 tables avec les champs suivants:
Et j'ai déja réalisé un formulaire qui lance une requête permettant de ressortir tous les auteur_id dont le mot-clé entré par l'utilisateur est présent dans un de ses articles (dans la requête ci-dessous, le mot entré par l'utilisateur est "motclé"):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 TABLE AUTEURS auteur_id auteur_nom TABLE ARTICLES article_id article_auteur_id article_titre article_contenu TABLE COMMENTAIRES com_id com_auteur_id com_article_id com_date com_texte
Or, j'aimerais maintenant pouvoir trier les résultats de cette recherche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT auteur_id FROM auteurs, articles WHERE auteur_id=article_auteur_id AND article_contenu LIKE '%motclé%' GROUP BY auteur_id
- De l'auteur le moins commenté au plus commenté dans les derniers 7 jours
- De l'auteur le plus commenté au moins commenté dans les derniers 7 jours
- De l'auteur ayant écrit le plus d'articles au moins d'articles
- De l'auteur ayant écrit le moins d'articles au plus d'articles
- De l'auteur ayant écrit le plus de mots dans tous ses articles au moins de mots
- De l'auteur ayant écrit le moins de mots dans tous ses articles au plus de mots
(Pour information la table COMMENTAIRES permet de stocker tous les commentaires des visiteurs. Ces visiteurs peuvent commenter à la fois l'auteur ou ses articles. Lorsque je parle de l'auteur "le plus commenté", je parle donc des commentaires faits sur lui + les commentaires faits sur ses articles)
Voila j'ai beau me creuser la tête, je n'arrive pas à trouver la bonne solution pour mettre en place ce système de recherche avec tri qui soit le moins lourd possible dans ce cas. Pourriez vous me donner un petit coup de mains chers amis
Partager