2016-03-24 21 views
0

Sayfanın sayfayı ziyaret ettiği saatten önce bir tabloda bulunan tüm satırları almaya çalışıyorum ve eklenen veri satırıyla div'i güncelleştirdikten sonra kullanıcı sayfada bulunduğundan beri tabloya. (Tüm konvoyun görünür olduğu ve Whatsapp'ın olduğu gibi yeni mesajlar eklendiğinde).Veritabanında yeni satır mevcut olduğunda Otomatik Güncelleştirme div

Şimdiye dek Ajax'ı kullanıyorum ama bu aşamadan ileriye gideceğim hiçbir fikrim yok. Şu anda sadece en yeni kaydı (İKİNCİ DOSYADA TIMESTAMP MANUEL YAZILIYORUM) getiriyor, ancak ondan önce tüm diğer kayıtları. İdeal olarak, zamanı ikinci dosyaya yazarak çalışmalıyım.

Arzu ettiğim işlevselliği elde etmek için kodumu nasıl değiştirebilirim?

Ekran (autoload.php)

var time = (new Date).getTime(); 
var interval = 1000; // 1000 = 1 second, 3000 = 3 seconds 
function doAjax() { 
    $.ajax({ 
      type: 'POST', 
      url: 'autoload2.php', 
      dataType: 'json', 
      data: 'time='+time, 
      success: function (data) { 
       $('.inner').append(data); 
      }, 
      complete: function (data) { 
       setTimeout(doAjax, interval); 
      } 
    }); 
} 
setTimeout(doAjax, interval); 

alın verileri (autoload2.php)

$time = $_POST['time']; 
$results = mysql_query("SELECT post_name FROM posts WHERE postime > $time limit 1"); 
$row = mysql_fetch_assoc($results); 
$res = $row['post_name']; 
echo json_encode($res); 

Not: çalışmıyor yukarıdaki sorgulamak için kullanılan zaman, sadece zaman damgası ile kodlandığında.

cevap

0

Ben senin zaman değişken php olarak

var interval = 1000; // 1000 = 1 second, 3000 = 3 seconds 
function doAjax() { 
    var time = (new Date).getTime(); 
    $.ajax({ 
     type: 'POST', 
     url: 'autoload2.php', 
     dataType: 'json', 
     data: 'time='+time 
    }).done(function(response){ 
     console.log(response); 
    }); 
} 

setInterval(doAjax, interval); 

değişmedi Çünkü size işlevi

için

var time = (new Date).getTime(); 

devam etmeliyiz: Ben güncelledik

$data = Array('name' => 'name of last row'); 
header('Content-Type: application/json'); 
echo json_encode($data); 
+0

benim öneri ile kod ama st Veride değişiklik yok. – John

İlgili konular