Mysql veri tabanından anlık veri yükleme
Merhabalar bir PHP projem var ve mysql veri tabanından veri çekip alt alta listelemem lazım. Ve bu işlemi anlık yapmak istiyorum referans olarak kullandığım site evdeneve .gen.tr/defter/ bu rica etsem bu konu hakkında yardımcı olabilir misiniz?
Site kaynağını incelersen aşağıdaki kodu göreceksin.
Yaptığı şey Jquery ile 10sn de bir yeni veri varsa onu çekmek.
setInterval(function () {
checkContent();
}, 10000);
function checkContent() {
$.post("http://www.evdeneve.gen.tr/_endpoint/defter.php?action=check", {
lastID: lastID
}, function (response) {
if (response.success == true) {
$("#npShares").prepend(response.data);
$("#npShares .segment").first().transition('flash');
$('.npDefterLogButon').popup();
lastID = response.last;
}
}, "json");
}
<script>
var lastStack = 1;
var lastID = 2713046;
$(document)
.ready(function () {
$('.ui.form').form({
keyboardShortcuts: false,
fields: {
term: ['minLength[3]', 'empty'],
content: ['minLength[20]', 'empty']
}
});
$.fn.api.settings.api = {
'save': 'http://www.evdeneve.gen.tr/_endpoint/defter.php?action=save',
'search': 'http://www.evdeneve.gen.tr/_endpoint/defter.php?action=search'
};
$('#formDefter')
.api({
action: 'save',
method: 'POST',
serializeForm: true,
successTest: function (response) {
return response.success || false;
},
onSuccess: function (response) {
//Altta mesaj göster
$('#formDefter > .message').html(response.message).removeClass("error").addClass("success").transition('show');
//Bilgi Güncelleme İsteklerime Bi tane yerleştir
$('textarea').val('');
$("#npShares").prepend(response.data);
lastID = response.last;
},
onFailure: function (response) {
//Altta mesaj göster
$('#formDefter > .message').removeClass("success").addClass("error").html(response.message);
}
});
$('#formArama')
.api({
action: 'search',
method: 'POST',
serializeForm: true,
successTest: function (response) {
return response.success || false;
},
onSuccess: function (response) {
$('#formArama > .message').removeClass("error").addClass("success").html(response.message);
$("#npShares").html(response.data);
},
onFailure: function (response) {
$('#formArama > .message').removeClass("success").addClass("error").html(response.message);
},
beforeSend: function (settings) {
if ($("#npArama").val() == '') {
return false;
}
}
});
// loadContent();
$('.npDefterLogButon').popup();
$(document).on('click', '#npLoadMore', function () {
loadContent();
});
$(document).on('click', '.npDelete', function () {
var segment = $(this).closest('.segment');
$.post("http://www.evdeneve.gen.tr/_endpoint/defter.php?action=delete", {
id: $(this).attr('data')
}, function (response) {
if (response.success == true) {
segment.transition('drop');
}
}, "json");
});
$(document).on('click', '.npDefterMenu', function () {
$("html, body").animate({scrollTop: 0}, "slow");
// $("textarea").focus();
return false;
});
setInterval(function () {
checkContent();
}, 10000);
$("#npArama").focusout(function () {
if ($(this).val() == '') {
$("#npShares").html("");
lastStack = 0;
loadContent();
}
});
$(".avatar").popup({
on: 'hover'
});
});
function loadContent() {
$("#npLoadMore").addClass('loading');
$.post("http://www.evdeneve.gen.tr/_endpoint/defter.php?action=load", {
lastStackID: lastStack
}, function (response) {
if (response.success == true) {
$("#npShares").append(response.data);
$("#npLoadMore").removeClass('loading');
$('.npDefterLogButon').popup();
if (response.last > lastID) {
lastID = response.last;
}
}
}, "json");
lastStack++;
}
function checkContent() {
$.post("http://www.evdeneve.gen.tr/_endpoint/defter.php?action=check", {
lastID: lastID
}, function (response) {
if (response.success == true) {
$("#npShares").prepend(response.data);
$("#npShares .segment").first().transition('flash');
$('.npDefterLogButon').popup();
lastID = response.last;
}
}, "json");
}
</script>