J'ai donc essayé différentes manières d'obtenir de nouvelles données au cours des 5 derniers jours et je suis déterminé à terminer ce système de notifications car je n'aime pas finir quelque chose avant de passer à Quelque chose de nouveau. J'ai essayé le stockage local mais il n'a pas eu l'effet désiréAJAX GET - Nouveaux records par temps
Donc j'ai d'abord créé l'ajax pour envoyer la dernière notification par le côté côté serveur du côté client et obtenir un nouveau pour l'utilisateur de la session comme ça.
<?
$user1_id=$_SESSION['id'];
$call="select * from notifications WHERE notification_targetuser='$user1_id' AND notification_status=1 ORDER BY notification_id DESC LIMIT 1";
$chant=mysqli_query($mysqli,$call) or die(mysqli_error($mysqli));
while($notification=mysqli_fetch_array($chant)){
?>
<script type="text/javascript">
function loadIt() {
var notification_time="<?php echo $notification['notification_time'] ;?>"
$.ajax({
type: "GET",
url: "viewajax.php?notification_time="+notification_time,
dataType:"json",
cache: false,
success: function(response){
if (response.notificiation_time > notification_time) {
$("#notif_actual_text-"+notification_time).prepend('<div class="notif_ui"><div class="notif_text"><div id="notif_actual_text-'+response['notification_id']+'" class="notif_actual_text"><img border=\"1\" src=\"userimages/cropped'+response['notification_triggeredby']+'.jpg\" onerror=this.src=\"userimages/no_profile_img.jpeg\" width=\"40\" height=\"40\" ><br /><a href="'+response['notification_id']+'">'+response['notification_content']+' </a><br />'+response['notification_time']+'<br /></div></div></div></div>');
i = parseInt($("#mes").text()); $("#mes").text((i+response.num));
}
}
});
}
setInterval(loadIt, 10000);
</script>
<? } }?>
Mais c'est là que je deviens coincé, parce que je veux l'utiliser notification_time pour rechercher le serveur pour rien plus récent contre l'ancien .. renvoient la balle et la mettre dans son div désigné puis utiliser cette nouvelle notification_time sur la prochaine recherche au lieu de la même que je viens d'utiliser pour obtenir la nouvelle, car cela serait plutôt inutile pour ce que je veux atteindre. Nous savons tous comment les réseaux sociaux le font, le problème est, je serai le premier à admettre, c'est confondre la vie hors de moi ...
Voici mon Php qui n'est évidemment pas complet.
if(isset($_GET['notification_time'])){
$id= mysqli_real_escape_string($mysqli,$_GET['notification_time']);
$user1_id= mysqli_real_escape_string($mysqli,$_SESSION['id']);
$json = array();
$com=mysqli_query($mysqli,"select notification_id,notification_content,notification_time,notification_triggeredby from notifications where notification_id > '$id' AND notification_targetuser='$user1_id' AND notification_status='1' ");
echo mysqli_error($mysqli);
$num = mysqli_num_rows($com);
if($num==1){
$json['num'] = $num;
}else{
$json['num'] = 0;
}
$resultArr = mysqli_fetch_array($com);
$json['notification_id'] = $resultArr['notification_id'];
$json['notification_content'] = $resultArr['notification_content'];
$json['notification_triggeredby'] = $resultArr['notification_triggeredby'];
$json['notification_time'] = $resultArr['notification_time'];
mysqli_free_result($com);
echo json_encode($json);
}
Merci victoire, juste essayer de dépasser la valeur NULL s'il n'y a pas de nouveau contenu. – Dave