Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec ma requête

Sujet résolu
    12 septembre 2021 à 18:39:27

    Je vous explique je fais un petit site, j'ai mis en place des commentaire qui fonctionne niquel maintenant j'aimerai afficher uniquement 5 commentaires les plus récent en les affichants du plus vieux au plus récent

    Donc je résume ma requête me donne les 5 plus récent

    $query = "SELECT * FROM commentaire LEFT JOIN `user` ON `commentaire`.`userid` = `user`.`id` WHERE postid='$IdArticle' ORDER BY com_h DESC LIMIT 5";

    Tous vas bien sa m'affiche ce qu'il faut dans le bon ordres mais j'aimerai les afficher les 5 derniers mais dans le sens inverse...

    Et bien sur je l'affiche avec un while basic

    Je vous joint la structure de la table 

    -
    Edité par Legendary13 12 septembre 2021 à 18:40:20

    • Partager sur Facebook
    • Partager sur Twitter

    Si sa t'as aidé oublie pas le +1 :*

      12 septembre 2021 à 23:03:41

      SELECT *
      FROM (
          SELECT *
          FROM commentaire
          LEFT JOIN user ON commentaire.userid = user.id
          WHERE postid = $IdArticle
          ORDER BY com_h
          DESC LIMIT 5
      ) t
      ORDER BY com_h DESC
      ;
      

      ?

      PS :

      • une variable qui traîne comme ça dans la requête, ça pue l'injection SQL ...
      • vous pouvez retourner à la ligne dans une requête et l'indenter, surtout qu'ici, ça nous éviterait un scroll horizontal

      -
      Edité par julp 13 septembre 2021 à 0:52:42

      • Partager sur Facebook
      • Partager sur Twitter
        13 septembre 2021 à 0:28:13

        Merciii après plusieurs recherche j'avais trouvé cette solution, ma variable es sécurisé en amont
        • Partager sur Facebook
        • Partager sur Twitter

        Si sa t'as aidé oublie pas le +1 :*

          13 septembre 2021 à 14:40:43

          autre solution, parcourir le résultat dans le sens inverse, en partant du dernier résultat et en remontant au 1er résultat (si le "while basic" n'est pas un -> fetch())
          • Partager sur Facebook
          • Partager sur Twitter
            13 septembre 2021 à 15:09:37

            fetchAll > array_reverse > foreach mais quand tu peux le faire directement en SQL ...

            • Partager sur Facebook
            • Partager sur Twitter
              13 septembre 2021 à 15:57:58

              je pensais plutôt à fetchAll > for(i= $count($result)-1;$i>=0;$i--)

              -
              Edité par umfred 13 septembre 2021 à 15:58:12

              • Partager sur Facebook
              • Partager sur Twitter

              Problème avec ma requête

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown