Bonsoir tous,

j'ai un souci que je n'arrive malheureusement pas à résoudre, j'aurai donc besoin de votre aide.

J'essaie d'actualiser des données via Ajax et php, j'ai suivi le tuto de grafikart.

Bref ça fonctionne mais le problème est que ça me ra fiche plusieurs fois les même données, si par contre je mes comme grafikart : idpage est suppérieur à $lastid, alors pas de souci.

Mais moi j'ai besoin de récupérer tous les id qui correspond sont égale au valeur que je donne. ( idpage = $lastid )

En faite je fait un history.

Voici donc mon code, merci de votre aide !

Page appelajax.php

<?php
session_start();
require_once("include/connect.php");
$d =array();
extract($_POST);
if($_POST"action"]=="getMessages"){
        $lastid = floor($lastid);
        $sql = "SELECT id, idpage, membre, time FROM history WHERE idpage = $lastid";
        $req = mysql_query($sql) or die(mysql_error());
        $d"result"] = "";
        $d"lastid"] = $lastid;
        while($data = mysql_fetch_assoc($req)){
             $d"result"] .= '<p><strong>'.$data"membre"].'</strong>('.date("d/m/Y H:i:s",$data"time"]).') </p>';
             $d"lastid"] = $data"idpage"];
        }
        $d"erreur"]="ok";
    }
echo json_encode($d);
?>

Page ajax.js

var url="appelajax.php";
var lastid=0;
var timer = setInterval(getMessages,5000);

function getMessages(){
    $.post(url,{action:"getMessages",lastid:lastid},function(data){
            if(data.erreur=="ok"){
                $("#divaff").append(data.result);
                lastid=data.lastid;
            }
            else{
                alert(data.erreur);
            }
        },"json");
        return false;
}
function showLoader(div){
    $(div).append('<div class="loader"></div>');
    $(".loader").fadeTo(500,0.6);
}
function hideLoader(){
    $(".loader").fadeOut(500,function(){
        $(".loader").remove();
    });
}

1 réponse


Bonsoir,

Je n'ai pas suivi le tutoriel de Grafikart, mais selon ce que j'entrevois à la lecture de ton code et le problème que tu soulignes il s'agirai plus de la fonction .append() qui n'est pas adapté.
Regarde plutôt du côté de .prepend(), ou appendTo() ...

Sophonie.