v2.5.2
Giriş yap

Mysql veri tabanından anlık veri yükleme

Anonim
484 defa görüntülendi

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?

Cevap yaz
Cevaplar (2)
omrdrsn
1890 gün önce

Aynen hocam çok teşekkür ederim. Yapımında şöyle bir sorunla daha karşılaştım yeni veriler eklenirken kullanıcı eğer aşağılardaysa kutular birer sıra aşağı kayıyor yeni veri geldiği içib ve kullanıcının odağı bozuluyor bu sorunu nasıl halledebilirim?

makifgokce
1890 gün önce

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>