Kullanıcıların gönderebileceği bir bağlantı veritabanım var. Bir kullanıcı yeni bir link gönderdiğinde veritabanına eklenir. Gönderilen tüm bağlantıları listeleyen ayrı bir sayfam var. Bu ayrı sayfada değişiklik yapmak için veritabanını nasıl kontrol edebilirim ve onları bulduğunda AJAX ile nasıl yükleyebilirim?Değişiklikler için MySQL veritabanını kontrol etmek ve değişiklikleri yüklemek için PHP + jQuery AJAX kullanın.
cevap
Veritabanı içeriğine bağlı olarak güncellenmesi gereken sayfa, DB'yi her sık sık sorgulamalıdır. Javascript bir istemci tarafı teknolojisidir ve arka uç sunucuları ile doğrudan etkileşim için tasarlanmamıştır.
javascript bu (kullanarak jquery) gibi görünecektir:
$.post("/webroot/checkForChanges.php",
{ currentNumber: currNumString },
function(dat){
$(dat).find('link').each(function() {
$('#linksTable').append(""+$(this).text()+"");
});
});
Bu bir değere sahiptir currentNumber adındaki değişkenle sen yazacak sayfasında (checkForChanges.php) POST isteği yapacak Tabloda halihazırda bulunan bağlantı sayısının dize olarak gösterilmesi (bunlardan istediğinizi sayın).
kodun bir parçası (dat) kısmı, istek tamamlandığında (yani php sayfasının işlenmesi tamamlandığında ve sonuçta alınan metin tarayıcıya alındığında) çalıştırılan geri arama işlevidir.
PHP sayfasının ne yaptığını açıkladığımda bunun ne yaptığına geri döneceğim.
Veritabanı yapınız hakkında herhangi bir şey söylemediniz, ancak insanların bağlantı eklemelerine başarılı bir şekilde izin verdiğinizden, bağlantı için bir tamsayı kimliğini izleyen bir yerde tanımlanmış bir dizinin olması gerekir (böylece her bağlantı veritabanında benzersiz bir kimlik verildi). Bu sayfa tarafından döndürülen çıkış bir düğümle bir xml belge olacaktır
//open a database connection
$DB = connect(name, user, password);
//receive value
$currNum = $_POST['currentNumber'];
//check to see if sequence number has incremented since last time:
$seqNum = query("SELECT currval('links-count')");
if ($seqNum == $currNum){
exit(0);
} //if they are the same, just exit the page without writing anything
//otherwise, carry on... get the result of your query (for new links)
//and loop through, echoing return data
$newEntries = query("SELECT url FROM links WHERE id > ".$currNum);
echo "<newlinks>";
while ($result = fetch_result($newEntries)) {
echo "<link><a>".$result."</a></link>";
}
echo "</newlinks>";
: Sana Aşağıdaki sözde kod ile basit bir php sayfası oluşturmalıdır bu 'bağlantıları-sayımı' aradım varsayıyoruz Tablo hücrenize koymak istediğiniz HTML'yi içeren her bağlantı için. Şimdi
biz istemci tarafı Java kodunda $ .post istekte geri arama işlevi geri dönebilirsiniz:
function(dat){
$(dat).find('link').each(function() {
$('#linksTable').append(""+$(this).text()+"");
});
});
dat iade metindir bir jquery nesne olarak sarın ve daha sonra bulmak 'link' adlı etiket koleksiyonu. php sayfası tarafından döndürülen her bir 'link' etiketi için, link etiketlerinin içindeki verileri içeren linksTable'a yeni bir tablo satırı ekleyen bir işlev yürütün.
Değişik sayfada, temel olarak db'yi değişiklikler için yoklayan etkin bir javascript'iniz olabilir veya başarılı bir gönderimden sonra bir geri arama işlevine sahip olabilirsiniz. Burada neler olduğuna tam olarak emin değilim, bu yüzden ne tavsiye edeceğimi gerçekten bilmiyorum.
- 1. MySQL veritabanını AJAX ile güncelle
- 2. Zaman damgası değerini kontrol etmek için mysql sorgusunu kullanın
- 3. Veritabanını indirmek ve yüklemek için sorguyu kullanma
- 4. JQuery AJAX için PHP eşdeğeri jsonp
- 5. Tüm div'lerin gizlenip gizlenmediğini kontrol etmek için jQuery'yi kullanın
- 6. Öğenin bir kenarlığı olup olmadığını kontrol etmek için JQuery'yi kullanın.
- 7. Veritabanını geri yüklemek ve yedeklemek için Postgresql DDL nedir?
- 8. mySQL veritabanını güncellemek için CodeIgniter ile jquery zaman ayarlayıcısını kullanma
- 9. Ben gerektiği gibi sunucudan veri yüklemek için AJAX kullanıyorum jQuery
- 10. Dosyayı yüklemek için PHP sunucusuna
- 11. C# programındaki değişiklikler için MySQL tablosunu izleyin?
- 12. jQuery post parametresi yüklemek için
- 13. PHP @ dizi değerlerini kontrol etmek için güvenli midir?
- 14. nasıl kontrol etmek için "checkbox" dinamik - jQuery Mobile
- 15. Değişiklikler için monitör dizini listeleniyor mu?
- 16. jQuery öğesinden ayrılmak için kullanın sayfa
- 17. Bir jQuery nesnesinde .data() değerini kontrol etmek için doğru yolu?
- 18. Jetu yüklemek için jQuery nasıl kullanılır
- 19. Php Sorgulama Döngüsü veritabanını güncelleştirmiyor
- 20. PHP + Jquery - ajax ile php arasındaki değeri geçmek ve değişkene karşı kontrol edin
- 21. Mysql ve PHP - Farklı bir sunucudan veritabanını güncelle
- 22. Form jQuery ve Ajax
- 23. php mysql ithalatı için dosyayı okumak
- 24. PHP - AJAX jQuery Sunucusu "İtme" Sistem
- 25. Bir mysql veritabanını yeniden adlandırmak için ALTER DATABASE kullanabilir miyim?
- 26. "ajax olmayan" işlevinde yapılan jquery işlevini kullanın
- 27. JQuery Javascript dosyasını dinamik olarak yüklemek için
- 28. PhoneGap, AJAX ve JQuery Mobile kullanarak bir MySQL veritabanına bağlanma
- 29. html/php form mysql için
- 30. AJAX/Jquery - php dosyasından yanıt alın
Pekala, biraz zaman aldığım oldukça eksiksiz bir cevap ... bballbackus, denedin mi? Bunu kabul edebilir veya oylayabilir veya en azından yorumlarınızda geri bildirim verebilir misiniz? Teşekkürler – sillyMunky