[PHP/MYSQL] Les articles les plus commentés

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par JulienV, 22 Octobre 2011.

  1. JulienV
    JulienV WRInaute discret
    Inscrit:
    18 Mars 2010
    Messages:
    164
    J'aime reçus:
    0
    Bonjour :)

    Bon voilà je vous avoue que je galère, mais peut-être parce que je suis fatigué...

    J'ai deux tables, l'une "articles" et l'autre "commentaires".

    Articles : id, titre, contenu
    Commentaires : id, id_article, commentaire

    Jusque là, pas de problème.

    Là où ça se complique : j'aimerais réussir à "sortir" la liste des articles, triées par le nombre de commentaires.

    Exemple :
    Article 6, "blablabla", 28 commentaires
    Article 1, "blobloblo", 12 commentaires
    Article 9, "bliblibli", 2 commentaires

    Mais je ne vois vraiment pas comment faire tout ça en une seule requête !!

    Sélectionner les articles, OK. Pour le nombre de commentaires, il y a la fonction count() de MySQL.

    Est-ce que quelqu'un pourrait m'aider ? ;)

    Merci d'avance !!
     
  2. MarvinLeRouge
    MarvinLeRouge WRInaute impliqué
    Inscrit:
    1 Septembre 2004
    Messages:
    515
    J'aime reçus:
    0
    Salut,

    Bon, comme ça, sans tester, ça devrait donner un truc du genre :

    Code:
    SELECT ar.id, ar.titre, ar.contenu, ac.COUNT(*) AS nb_commentaires
    FROM articles ar LEFT JOIN articles_commentaires ac ON ar.id_article = ac.id_article
    GROUP BY ar.id
    ORDER BY nb_commentaires DESC
    J'ai mis left join et non inner join, pour tenir compte du cas "aucun commentaire".
     
  3. JulienV
    JulienV WRInaute discret
    Inscrit:
    18 Mars 2010
    Messages:
    164
    J'aime reçus:
    0
    Salut salut ;)

    Je te remercie infiniment ! Je vais tester ce soir et je te dirai si c'est OK ;)

    Encore merci à toi, bonne fin d'après midi !
     
  4. JulienV
    JulienV WRInaute discret
    Inscrit:
    18 Mars 2010
    Messages:
    164
    J'aime reçus:
    0
    Bonjour ;)

    Comme promis, j'ai essayé la requête cette nuit !

    Elle marche, aucun problème à signaler mis à part le fait que lorsqu'un article n'a jamais été commenté, MySQL me retourne tout-de-même 1 commentaire.

    Je ne comprends vraiment pas pourquoi !

    Enfin, ce n'est pas si grave vu que c'est pour mon backoffice :)

    Je te remercie infiniment !! :)
     
Chargement...
Similar Threads - [PHP MYSQL] articles Forum Date
[PHP/MySQL] Choix du moteur MyISAM ou InnoDB ? Développement d'un site Web ou d'une appli mobile 14 Janvier 2017
[php/mysql] Eviter de faire 20 requêtes pour un affichage Développement d'un site Web ou d'une appli mobile 19 Janvier 2016
[PHP/MySQL] Excepter une valeur dans un requête SQL en PHP Développement d'un site Web ou d'une appli mobile 18 Septembre 2010
[PHP/MySQL] Compter le nombre de checkbox cochées Développement d'un site Web ou d'une appli mobile 11 Septembre 2010
[PHP/MySQL] Augmenter la valeur de 1 sur une entrée INT Développement d'un site Web ou d'une appli mobile 3 Septembre 2010
[PHP/MYSQL] Besoin d'aide pour la simplification d'une requete Développement d'un site Web ou d'une appli mobile 9 Juillet 2009
[PHP] Détecter le navigateur / bot en fonction du HTTP_USER_AGENT Développement d'un site Web ou d'une appli mobile 14 Septembre 2019
[PHP] Détecter le navigateur / bot en fonction du HTTP_USER_AGENT Développement d'un site Web ou d'une appli mobile 12 Janvier 2017
[PHP] Cookie vide dans une fonction, complet juste avant ou après Développement d'un site Web ou d'une appli mobile 25 Novembre 2014
[php] Cookie d'un domaine vers un sous-domaine Développement d'un site Web ou d'une appli mobile 29 Août 2014
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice