Mettre les commentaires les plus recent en ha
Mihawk Messages postés 4753 Statut Contributeur -
Je vous donne donc le code de mon index.php
<?php require('connect.php');?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="all" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#ajax_result').hide();
$('#load').hide();
$('#form').submit(function(){
valid = true;
if($('#pseudo').val()==''){
$('#pseudo').prev('.error').fadeIn(1000).text('Pseudo requis');
valid = false;
}
else{
$('#pseudo').prev('.error').slideUp();
}
if($('#commentaire').val()==''){
$('#commentaire').prev('.error').fadeIn(1000).text('Commentaire requis');
valid = false;
}
else{
$('#commentaire').prev('.error').slideUp();
}
if(valid==true)
{
var pseudo = $('#pseudo').val();
var commentaire = $('#commentaire').val();
var dataString = 'pseudo='+pseudo+'&commentaire='+commentaire;
$.ajax({
type: 'POST',
url: 'add_com.php',
data: dataString,
beforeSend: function()
{
$('#load').fadeIn();
},
success: function(data)
{
var responseData = jQuery.parseJSON(data);
var pseudo = responseData.pseudo;
var commentaire = responseData.commentaire;
var date = responseData.date;
$('#ajax_result').fadeIn(1000).append('<div class="com"><span class="auteur">'+pseudo+'</span><p>'+commentaire+'</p><span class="date">'+date+'</span></div>');
$('#load').hide();
$('#form').slideUp();
}
});
}
return false;
});
});
</script>
<title></title>
</head>
<body>
<div id="content">
<h1>Mon article</h1>
<p>
Vel rhoncus velit risus a. Nunc? Massa integer, aliquam proin, porttitor tincidunt augue mid elementum in eu pulvinar! Etiam lectus dolor sit, in mus magna rhoncus aliquet ridiculus placerat turpis egestas aenean lectus adipiscing, porta et? Penatibus amet non enim! Velit elementum ut mattis augue nascetur mattis. Augue vel sed proin est, ac hac. Et cursus nunc lacus dapibus lorem, purus purus arcu integer enim nisi adipiscing ac lorem purus rhoncus ultricies, porta, sagittis magna scelerisque nascetur phasellus? Augue, habitasse integer odio arcu ultrices elit turpis egestas et magna egestas, nisi amet. Pellentesque proin mid est ac odio vel parturient integer enim sit in, pellentesque. Augue, elementum diam porta magna urna sit vel et? Rhoncus amet pid sed ac lundium.
</p>
<div id="commentaires">
<?php
$req = $bdd->prepare('SELECT * FROM commentaire');
$req->execute();
while($data = $req->fetch(PDO::FETCH_OBJ)):?>
<div class="com">
<span class="auteur"><?php echo $data->pseudo;?></span>
<p><?php echo $data->commentaire;?></p>
<span class="date"><?php echo $data->date;?></span>
</div>
<?php endwhile;?>
<div id="ajax_result"></div>
</div>
<div id="load"></div>
<form id="form" action="add_com.php" method="post">
<label for="pseudo">Pseudo:</label>
<span class="error"></span>
<input type="text" name="pseudo" id="pseudo" />
<label for="commentaire">Commentaire:</label>
<span class="error"></span>
<textarea name="commentaire" id="commentaire"></textarea>
<input type="submit" id="submit" class="submit" value="Envoyer" />
</form>
</div>
</body>
</html>
Ainsi que mon ad_comment.php
<?php
require('connect.php');
if(!empty($_POST) && !empty($_POST['pseudo']) && !empty($_POST['commentaire']))
{
extract($_POST);
$pseudo = strip_tags($pseudo);
$commentaire = strip_tags($commentaire);
$req = $bdd->prepare('INSERT INTO commentaire (pseudo,commentaire) VALUES (:pseudo,:commentaire)');
$req->execute(array(':pseudo'=>$pseudo, ':commentaire'=>$commentaire));
$last_com_id = $bdd->lastInsertId('commentaire');
$req->closeCursor();
$req = $bdd->prepare('SELECT * FROM commentaire WHERE id=:last_com_id');
$req->execute(array(':last_com_id'=>$last_com_id));
$d = $req->fetch(PDO::FETCH_OBJ);
$data = array('pseudo'=>$d->pseudo, 'commentaire'=>$d->commentaire, 'date'=>$d->date);
echo json_encode($data);
}
else
{
extract($_POST);
$erreurs = array($erreurpseudo = (empty($pseudo)) ? 'Indiquez un pseudo' : null,
$erreurcommentaire = (empty($commentaire)) ? 'Indiquez un commentaire' : null);
if($erreurs != null)
{
foreach($erreurs as $erreur)
{
if($erreur != null)
{
echo $erreur.'<br />';
}
}
}
}
?>
Voila si quelqun peut m'aider c'est cool , merci d'avance :)
--
Cordialement
- Mettre les commentaires les plus recent en ha
- Afficher les commentaires word - Guide
- Fichier récent - Guide
- Récent snapchat signification - Forum Snapchat
- Comment supprimer les emoji récent android - Forum Xiaomi
- Sur instagram, masquer automatiquement les commentaires contenant son surnom, "baleine". - Forum Facebook
10 réponses
Plusieurs utilisateurs cherchent à inverser l'ordre d'affichage des commentaires dans une page PHP/MySQL afin que les plus récents apparaissent en haut, devant les plus anciens, et non pas l'inverse. La solution essentielle est de trier les résultats via ORDER BY DESC, par exemple SELECT * FROM commentaire ORDER BY id DESC, puis d’y ajouter LIMIT et OFFSET selon la pagination. D'autres interventions soulignent aussi des détails comme la casse des variables de pagination ou l'utilisation correcte de LIMIT pour que l'ordre reste cohérent lors du changement de page. En pratique, l'exemple retenu montre d'utiliser ORDER BY ID DESC pour afficher les commentaires les plus récents en haut, et il est recommandé d'indexer la colonne utilisée pour optimiser les performances.
ORDER BY DESC dans ta requête !
Cette ligne:
$req = $bdd->prepare('SELECT * FROM commentaire');
Remplacer par:
$req = $bdd->prepare('SELECT * FROM commentaire ORDER BY DESC');
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$premierArticle = ($cpage-1)*$perpage; $sql = "SELECT * FROM commentaire ORDER BY id DESC LIMIT ".$premierArticle.", ".$perpage;
Attention, ton $cpage devra etre modifiable par l'utilisateur pour changer de page, par exemple en passant par les $_GET.
$req= mysql_query($sql) or die(mysql_error());
$data=mysql_fetch_assoc($req);
$nbArt = $data['nbArt'];
$perpage = 6;
$nbpage= ceil($nbArt/$perpage);
$cpage = 1;
$sql = "SELECT * FROM commentaire ORDER BY id DESC LIMIT ".(($cpage-1)*$perpage).",$perpage";
$req= mysql_query($sql) or die(mysql_error());
while($data =mysql_fetch_object($req)):?>
<div class="com">
<span class="auteur"><?php echo $data->pseudo;?></span>
<p><?php echo $data->commentaire;?></p>
<span class="date"><?php echo $data->date;?></span>
</div>
<?php endwhile;?>
<?php for($i=1;$i<=$nbPage;$i++){
echo "$i /";
}
?>
Ca n'affiche pas le numero des pages ....
pourtant quand je fais echo $nbpage en dessous de nbpage ca m'affiche le nombre de page ....
Sinon essaye cela :
<?php
for($i=1;$i<=intval($nbPage);$i++){
echo $i." / ";
}
?>
Et tiens moi au courant.
<?php
echo $nbpage;
echo intval($nbpage);
for($i=1;$i<=intval($nbPage);$i++){
echo $i." / ";
}
?>
Tant qu'on ne fait pas, on ne sait pas.
Quand je clique sur les page ca ne fait rien vla mon code :
<?php require('connect.php');?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="all" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#ajax_result').hide();
$('#load').hide();
$('#form').submit(function(){
valid = true;
if($('#pseudo').val()==''){
$('#pseudo').prev('.error').fadeIn(1000).text('Pseudo requis');
valid = false;
}
else{
$('#pseudo').prev('.error').slideUp();
}
if($('#commentaire').val()==''){
$('#commentaire').prev('.error').fadeIn(1000).text('Commentaire requis');
valid = false;
}
else{
$('#commentaire').prev('.error').slideUp();
}
if(valid==true)
{
var pseudo = $('#pseudo').val();
var commentaire = $('#commentaire').val();
var dataString = 'pseudo='+pseudo+'&commentaire='+commentaire;
$.ajax({
type: 'POST',
url: 'add_com.php',
data: dataString,
beforeSend: function()
{
$('#load').fadeIn();
},
success: function(data)
{
var responseData = jQuery.parseJSON(data);
var pseudo = responseData.pseudo;
var commentaire = responseData.commentaire;
var date = responseData.date;
$('#ajax_result').fadeIn(1000).append('<div class="com"><span class="auteur">'+pseudo+'</span><p>'+commentaire+'</p><span class="date">'+date+'</span></div>');
$('#load').hide();
$('#form').slideUp();
}
});
}
return false;
});
});
</script>
<title></title>
</head>
<body>
<div id="content">
<h1>Mon article</h1>
<p>
Vel rhoncus velit risus a. Nunc? Massa integer, aliquam proin, porttitor tincidunt augue mid elementum in eu pulvinar! Etiam lectus dolor sit, in mus magna rhoncus aliquet ridiculus placerat turpis egestas aenean lectus adipiscing, porta et? Penatibus amet non enim! Velit elementum ut mattis augue nascetur mattis. Augue vel sed proin est, ac hac. Et cursus nunc lacus dapibus lorem, purus purus arcu integer enim nisi adipiscing ac lorem purus rhoncus ultricies, porta, sagittis magna scelerisque nascetur phasellus? Augue, habitasse integer odio arcu ultrices elit turpis egestas et magna egestas, nisi amet. Pellentesque proin mid est ac odio vel parturient integer enim sit in, pellentesque. Augue, elementum diam porta magna urna sit vel et? Rhoncus amet pid sed ac lundium.
</p>
<div id="commentaires">
<?php
mysql_connect("sql.olympe-network.com","******","******") or die('erreur de connexion mysql');
mysql_select_db ("*****") or die('erreur de connexion base');
$sql = "SELECT COUNT(id) as nbArt FROM commentaire";
$req= mysql_query($sql) or die(mysql_error());
$data=mysql_fetch_assoc($req);
$sql = "SELECT COUNT(id) as nbArt FROM commentaire";
$req= mysql_query($sql) or die(mysql_error());
$data=mysql_fetch_assoc($req);
if(isset($_GET['p'])){
$cpage = $_GET['p'];
}
else{
$cpage=1;
}
$nbArt = $data['nbArt'];
$perpage = 6;
$nbpage= ceil($nbArt/$perpage);
$cpage = 1;
$sql = "SELECT * FROM commentaire ORDER BY id DESC LIMIT ".(($cpage-1)*$perpage).",$perpage";
$req= mysql_query($sql) or die(mysql_error());
while($data =mysql_fetch_object($req)):?>
<div class="com">
<span class="auteur"><?php echo $data->pseudo;?></span>
<p><?php echo $data->commentaire;?></p>
<span class="date"><?php echo $data->date;?></span>
</div>
<?php endwhile;?>
<?php for($i=1;$i<=$nbpage;$i++){
echo "<a href=\"index.php?p=$i\">$i</a>/";
}
?>
<div id="ajax_result"></div>
</div>
<div id="load"></div>
<form id="form" action="add_com.php" method="post">
<label for="pseudo">Pseudo:</label>
<span class="error"></span>
<input type="text" name="pseudo" id="pseudo" />
<label for="commentaire">Commentaire:</label>
<span class="error"></span>
<textarea name="commentaire" id="commentaire"></textarea>
<input type="submit" id="submit" class="submit" value="Envoyer" />
</form>
</div>
</body>
</html>
Le code supposé afficher les page est le suivant
if(isset($_GET['p'])){
$cpage = $_GET['p'];
}
else{
$cpage=1;
}
if(isset($_GET['p'])){
$cpage = $_GET['p'];
}
else{
$cpage=1;
}
Comme ceci:
$nbArt = $data['nbArt'];
$perpage = 6;
$nbpage= ceil($nbArt/$perpage);
$cpage = 1;
if(isset($_GET['p'])){
$cpage = $_GET['p'];
}
else{
$cpage=1;
}
Please contact the server administrator, admin@olympe-network.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
quand je clique sur une page regarde : flothebobcat.olympe-network.com/www
Merci , merci , merci et merci encore <3
Bien joué Stéphane18 !!