есть админка , в ней выводятся все посты . Идея была такой , написать функцию которая раз в 7 секунд отсылает мое время :
function check(){
        $.ajax({
            method: "POST",
            url: "../../app/controllers/posts.php",
            data: {
                action: "Check",
                time:getFormatedDate(), // тут посылаю свое время
            }
        })
            .done(function( msg )
            {
              console.log(msg);
               var d1 = document.getElementById('table'); // тут уже вывожу html верстку которая пришла с пхп.
               d1.insertAdjacentHTML('beforeend', msg);
            });
    }
    setInterval('check()',7000); // 7 сек задержка
После чего пхп берет последний пост в бд и проверяет , если время записанное в БД БОЛЬШЕ чем время которое прилетело ( Я перед отправкой своего времени вычитаю пару секунд ) пхп мне возвращает данные об этом посте . 
$time = $_POST["time"];
        $q = $dbh->prepare("SELECT date_create,id FROM posts ORDER BY id DESC LIMIT 1 ");
        $q->execute();
        $dateCreate = $q->fetch(PDO::FETCH_ASSOC);
        $idNewPost = $dateCreate['id'];
//        var_dump($idNewPost);
        if ($dateCreate["date_create"]>=$time){
        $q = $dbh->prepare("SELECT posts.*,users.username FROM posts JOIN users  ON posts.user_id = users.id  WHERE posts.id = $idNewPost ");
        $q->execute();
        $NewPost = $q->fetch(PDO::FETCH_ASSOC);
/Дальше у меня цикл foreach который посылает уже html верстку в ajax**/
Получается , когда пользователь создает новый пост , то он выводится на главной странице в админке без перезагрузки . 
В чем собственно проблема , когда новая запись выводится , она дублируется ровно 8 раз