Comment classer les commentaires "order by desc" php

Fermé
Shung - Modifié le 5 déc. 2021 à 21:35
yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 5 déc. 2021 à 21:32
Bonjour,

Les scripts fonctionne correctement, mais je trouve un problème au niveau de classement, quand un nouveau user comment son commentaire va en dernière position, j'aimerais que a chaque fois que quelqu'un commente, son commentaire va en première position, quand je me "order by desc " les commentaires ne s'affiche plus, les code complet de la page ⬇️⬇️


<?php 

     $con = mysqli_connect('localhost','root','','');
    if(!$con)
    {
        echo ' Please Check Your Connection ';
    }

    if(isset($_GET['page']))
    {
        $page = $_GET['page'];
    }
    else
    {
        $page = 1;
    }

    $num_per_page = 05;
    $start_from = ($page-1)*05;
    
    $query = "select * from table limit $start_from,$num_per_page";
    $result = mysqli_query($con,$query);

?>
<!DOCTYPE HTML>
<html>
 <head>
  <title>titre</title>
        <link rel="icon" type="image/x-icon" href="../assets/icones.png" />
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
  <link rel="stylesheet" href="../galerie/assets/css/main.css" />
  <noscript><link rel="stylesheet" href="../galerie/assets/css/noscript.css" /></noscript>
 </head>
 <body class="is-preload">

   <div id="wrapper">

     <header id="header">
      <a href="../index.php" class="logo">titre</a>
     </header>

     <nav id="nav">
      <ul class="links">
       <li class="active"><a href="artiste.php">outros artistas</a></li>
      </ul>
     </nav>

     <div id="main">

      <section class="post">
       <header class="major">
        <h3>comments 
        </h3>

       </header>
       <div class="image main"></div>
           <section id="main-content">
                                    <form action="" method="POST" class="form">
                                        <div class="row">
                                            <div class="input-group">
                                                <label for="name">Name</label>
                                                <input type="text" name="name" id="name" placeholder="Enter your Name" required>
                                            </div>
                                            <div class="input-group">
                                                <label for="email">Email</label>
                                                <input type="email" name="email" id="email" placeholder="Enter your Email" required>
                                            </div>
                                        </div>
                                        <div class="input-group textarea">
                                            <label for="comment">Comment</label>
                                            <textarea id="comment" name="comment" placeholder="Enter your Comment" required></textarea>
                                        </div>
                                        <div class="input-group">
                                            <button name="submit" class="btn"><i style="color:skylue ;">Post Comment</i></button>
                                        </div>
                                    </form>
                                        <div class="prev-comments">
                                                <?php 
                                                    while($row=mysqli_fetch_assoc($result))
                                                    {
                                                ?>
                                            <div class="single-item">
                                                <h4><?php echo $row['name']; ?></h4>
                                                <a href="mailto:<?php echo $row['email']; ?>"><?php echo $row['email']; ?></a>
                                                <p><?php echo $row['comment']; ?></p>
                                            </div>
                                            <?php 
                                                }
                                                ?>
                                        </div>

                                   
                                    </div>
                                </section>
                            </div>
                        </section>
                    </div>
                    <footer id="footer">
                        <div class="pagination">
                            <div class="w-100">
                                <div class="btn-group paginate-btns">
                                    <?php 
                                    
                                        $pr_query = "select * from comments ";
                                        $pr_result = mysqli_query($con,$pr_query);
                                        $total_record = mysqli_num_rows($pr_result );
                                        
                                        $total_page = ceil($total_record/$num_per_page);

                                        if($page>1)
                                        {
                                            echo "<a href='comments.php?page=".($page-1)."' class='btn btn-default btn-sm border border-dark'>Prev</a>";
                                        }

                                        
                                        for($i=1;$i<$total_page;$i++)
                                        {
                                            echo "<a href='comments.php?page=".$i."' class='btn btn-primary'>$i</a>";
                                        }

                                        if($i>$page)
                                        {
                                            echo "<a href='comment.php?page=".($page+1)."' class='btn btn-default btn-sm border border-dark'>Next</a>";
                                        }
                                    
                                    ?>
                                </div>
                            </div>
                        </div>
                   

   </div>

   <script src="../galerie/assets/js/jquery.min.js"></script>
   <script src="../galerie/assets/js/jquery.scrollex.min.js"></script>
   <script src="../galerie/assets/js/jquery.scrolly.min.js"></script>
   <script src="../galerie/assets/js/browser.min.js"></script>
   <script src="../galerie/assets/js/breakpoints.min.js"></script>
   <script src="../galerie/assets/js/util.js"></script>
   <script src="../galerie/assets/js/main.js"></script>

 </body>
 
</html>


EDIT : Ajout des balises de code.
Explications ( à lire entièrement !!) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
A voir également:

1 réponse

yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
5 déc. 2021 à 21:32
bonjour,
tel que tu l'expliques, cela semble plus être un soucis de base de données, et pas de PHP.
as-tu testé le requête en direct sur ta base de données?

es-tu certain de nous avoir montré la requête qui pose problème?

habituellement, au lieu de "order by desc", on écrit "order by lenomdunchamp desc".
cela pourrait-il la cause de ton soucis?
0