J'ai un script PHP pour sélectionner les enregistrements pour les commentaires d'une base de données, puis les imprimer sur la page. Ce que j'aimerais faire, c'est que si un utilisateur est sur une page et qu'un autre utilisateur commente un élément sur cette page, il ajoute automatiquement le nouveau commentaire au bas de la page. Le problème que j'ai est que je ne sais pas comment différencier tous les statuts.Récupérer de nouvelles entrées MySQL et les ajouter dynamiquement aux div existants
Mon code pour générer des commentaires sur un statut est:
<?php
$rt = ("SELECT * FROM (SELECT comment as comment, byuid as byuid, comuid as comuid, likes as likes, dislikes as dislikes, UNIX_TIMESTAMP(timestamp) as timestamp FROM mingle_comments WHERE onuid = '$sid' AND type = 'status' ORDER BY timestamp DESC LIMIT 2) mingle_comments ORDER BY timestamp ASC"); //query
$result = mysql_query($rt) or die (mysql_error());
if(mysql_num_rows($result) >= 2) {
?>
<div id="sa" style="background:#E0E0E0; padding:5px 5px 5px 5px;">
<a href="#" style="font-family:Arial; font-size:12px; color:#3a3a3a; text-decoration:none;">View all comments...</a>
</div>
<?php
}
while($st = mysql_fetch_assoc($result)) {
$comment = nl2br($st['comment']);
$by = $st['byuid'];
$comuid = $st['comuid'];
$time = $st['timestamp'];
$l = $st['likes'];
$d = $st['dislikes'];
$bq = "SELECT * FROM users WHERE uid = '$by' LIMIT 1";
$bqq = mysql_query($bq) or die (mysql_error());
while($bqr = mysql_fetch_assoc($bqq)) {
$dp = $bqr['dp'];
$fbq = $bqr['fname'];
$sbq = $bqr['sname'];
}
?>
<div id="commentbox" class="<?php echo $comuid; ?>" style="padding:5px 5px 5px 5px;">
<div id="cbi" style=" display:inline; position:relative; ">
<img src="<?php if ($dp == null) { echo 'img/unknown_user.jpg'; } else { echo "pf/" . $by . "/" . $dp; } ?>" width="36px" style=" display:inline; position:relative;"/>
</div>
<div id="cbt" style="position:relative; margin-left:32px; margin-top:-35px;">
<a href="profile.php?uid=<?php echo $uid; ?>" style="position:relative; font-size:13px; margin-left:10px; font-family:Arial; color:#3a3a3a; text-decoration:none;"><?php echo $fbq . " " . $sbq; ?></a>
<p class="<?php echo $comuid; ?>" style="position:relative; margin-left:5px;"><?php echo $comment; ?></p>
</div>
<div id="clb" style="background:#E0E0E0; padding-left:5px;">
<a href="#">Like</a><a href="#" id="time"><?php echo time_since($time); ?></a>
</div>
</div>
<?php
}
?>
TL: DR; Comment puis-je récupérer automatiquement les nouveaux commentaires et les ajouter aux commentaires générés dans le script ci-dessus sans actualisation de la page.
Vous devez utiliser l'appel $ .ajax de jquery pour obtenir les nouveaux résultats. C'est vraiment simple, Si vous voulez, je peux vous fournir un code –
Ce serait génial – AviateX14
@ AviateX14 Ce que vous voulez est une technique communément appelée «longue interrogation» – Ohgodwhy