Ajax / PHP Kullanımı Yenile

3 Cevap php

Daha benim soruya dün (here), ben 'canlı' sipariş ayrıntılarını gösteren bir bölüm var bir web üzerinde çalışıyorum.

Benim Web sayfasının üst yarısı Spry Sekmeli Paneller vardır. Panellerin biri ben yarattık ayrı bir php sayfasında (getOpenOrders.php) bir içerir çağrı içerir. Bu, tüm açık siparişleri almak için bir SQL sorgusu içeren ve daha sonra bir tabloya ayrıntıları koyar.

Sonuç olarak, açık bir emir tablo Spry panelinde gösterilir. Ben şimdi bu yenileme her 15 saniye için hangi adımlar gerekiyor?

3 Cevap

Eğer gerçekten veritabanını her kullanıcı için her 15 saniyede aramak ister misin? bu bir aşırı yük değil mi?

Ben veritabanı aşırı olacağını söyleyerek, ama, sen shouldn't şeyleri nasıl şu değilim!

Edited

Her şeyi tabloda ne yaptığını bağlıdır çünkü, uygun bir cevap gt için bir görüntü, ya da o sayfaya bağlantı göstermelidir.

Ben bilmiyorum çünkü, sana muhtemelen oluyor ne bir cevap verecektir.

Eğer ajax dünyasına yeni olduğunuzu söyledi, çünkü, en basit şeyleri yapalım, ve bir JSON nesnesi döndürür ve tablo doldurmak yeniden kullanmak gerektiği üzerinde zorlaştırmak için değil. :)

Bu yüzden 2 düğmeleri (Önceki ve Sonraki) ile başlayacak böylece kullanıcı gösteren verileri taşıyabilirsiniz (muhtemelen doğru görmek için / onu 100 satır ona vermek istemiyorum?)


Diyelim ki 2 sayfa, bir showData.php ve getTable.php var diyelim, showData.php size (bunun için harika) jQuery yüklemek ve küçük bir kod eklemeniz gerekir, ama nerede tablo biz getTable.php dosyasından veri almak çünkü sadece bir id = "myTable" ile bir div etiketi eklemek yerleştirilmelidir.

getTable.php dosya çıkışa html, beden, vb olmadan tüm verileri tek tablo html kodu vardır .. fikir myTable denilen div içine eklemek için getTable.php tarafından oluşturulan tüm kodu

en getTable.php QueryString bir sayfa değişkeni alır hayal edelim, ki (mySQL veya postgreeSQL veritabanında SINIRI kullanmak için) göstermek gerektiğini sayfası anlatacağım


JQuery, check his example datatables cadı benim seçenekler denilen bir eklenti ve nasıl küçük bir kod yazmanız gereken kullanabilirsiniz! sadece jQuery ve DataTables eklentisi kullanarak.

İlk açıklama () getTable.php yüklemek ve kullanıcı istenen sayfada bir sorgu dizesi geçen, div ve bozkır önceki ve sonraki düğmeleri için bunu bir çocuk olarak eklemek jQuery.Load izler. Çok basit için ve sizin DataTables eklenti kullanmak isterseniz, o zaman sadece onların izinden, bunun için web sitemizi görebilirsiniz :)

eğer, bütün bu yardıma ihtiyacı sonra, bana bir satır bırakın.

<META HTTP-EQUIV=Refresh CONTENT="15; URL=<?php print $PHP_SELF ?>">

Bu head etiketleri arasında olmalıdır.

-Ya da-

header('Refresh: 15');

Bu before baş etiketi ve doğrudan html etiketinden sonra olmalıdır.

Balexandre tarafından dediği gibi, farklı bir yöntem kullanılmalıdır. Bir veritabanı gerektirmez biri siteye bağlı olan her bir kullanıcı için her 15 saniyede çarptı. Ancak, cevap zaten var.

Eğer bir yenileme ihtiyacı olduğuna karar yoksa, balexandre, çok iyi bir noktaya değinmiş olsa da, sadece JavaScript böyle bir şey yapabilirsiniz:

window.onload = function( )
{
     setTimeout( 'window.location.refresh( )', 1500 );
}

(Ben yukarıdaki kodu test ettik, bu yüzden sözdizimi biraz tweaked gerekebilir, ama fikir olsun)