2011-05-19 13 views
6

Veritabanım değiştirildiğinde, sayfayı güncelleştirmek istiyorum. Bunu yapmak için jquery kullanmak istiyorum. Soru açık değil mi? Sonra bu bir göz, varsayalım bu benim sayfası:Bir veritabanı değiştirildiğinde bir sayfayı güncellemek için Jquery'yi kullanma

<?php 
$query=mysql_query("select * from tbl1 where user='admin'"); 
if(mysql_num_rows?($query)!=0) 
{ 
    echo 'Table 1 has values'; 
} else { 
    echo 'Table1 is empty'; 


} 
?> 

herhangi yeni giriş veritabanına eklediğinizde anında Bu eylem yapılmalıdır. Şimdi veritabanına manuel olarak bir giriş eklediğimi varsayalım, sayfa otomatik olarak sonucu "Tablo 1'in değerleri" olarak göstermelidir. Yenileme sayfasını periyodik olarak kullanabileceğimi biliyorum ama kullanmak istemiyorum. Bunun yerine ajax yoklaması gibi başka bir şey denemek isterim? Birisi bana bir demo verebilir mi?

cevap

1

Uzun yoklamayı kullanabilirsiniz, ancak önce çok fazla araştırma yapın. Sunucunuz uzun bir süre açık gibi görünen talebi öldürebilir.

PHP olarak, kod

set_time_limit(0); 

while (TRUE) { 
    // Query database here 
    if ($results) { 
     echo json_encode($results); 
     exit; 
    } 

    sleep(1); 
} 
+0

Sorun değil, yine de zaman aşımına uğruyor olmalı. Cevabımı gör. –

+0

$ sonuçlarının değeri nedir? –

0

Sen Ajax itin/Comet çözümleri arıyoruz ... gibi bir şey olacaktır. Bunlar önemsiz değil.
Ayrıca ajax havuzlamasından bahsetmiştiniz.
Sunucu tarafında bir zaman aşımı olana kadar (kendiniz tanımladığınız veya sunucu yaptığınız, zamanaşımının HTTP durum kodunu döndürdüğünüzden emin olun) ya da isteğin karşılanabilmesi için döngü yapmanız gerekir.
Ve istemci tarafında işlemi başarıyla tamamladığınızda, yalnızca işlemek ve aynı ajax çağrısını tekrar yapmaktan daha iyidir, eğer zaman aşımına uğradıysanız, aynı ajax isteğini memnun olana kadar tekrar yapın.

İlgili konular