• 11-01-2017, 20:08:31
    #1
    css ile küçük bir box yaptım php ile sql tablosundan yeni verileri 1,5 saniyede refresh ederek çekiyorum javascript ile sağdaki sliderı devamlı en alta indiriyorum 1,5 saniyede bir kodlar aşağıda

     <div id="ch"></div>
                          
                              <script type="text/javascript">
        $(document).ready(function(){
          refresh();
        });
    
        function refresh(){
            $('#ch').load('ch.php', function(){
               setTimeout(refresh, 1200);
    		   $("#ch").animate({ scrollTop: $(this).height() }, "slow");
      return false;
            });
        }
    	
    
    </script>

    Sorum 1,5 saniyede bir refresh ediliyor bu sayfa yeni veriler varsa ekleniyor fakat sağdaki oku yukarı doğru çekip önceki şeylere bakmak istediğim zaman 1,5 saniye sonra refresh ettiği için yukarıdaki yazılara rahat bakamıyorum, 1,5 ideal saniyeyi daha fazla arttırmak istemiyorum

    $("#ch").animate({ scrollTop: $(this).height() }, "slow");
    return false;

    bu kodu eklemessem yukardan başlıyor yeni veriler geldiği zaman aşağı otomatik inmiyor fakat yukarıdaki eski haberlerede rahat baktırtmıyor



    bununla ilgili nasıl bir çözüm izlemek lazım
  • 11-01-2017, 20:34:00
    #2
    Bu şekilde sadece yeni veri eklendiğinde sayfayı kaydırır, işinize yararsa.
    <div id="ch"></div>
                           
    <script type="text/javascript">
    var _oldHeight = $('#ch').height();
    
        $(document).ready(function(){
          refresh();
        });
     
        function refresh(){
            $('#ch').load('ch.php', function(){
               setTimeout(refresh, 1200);
    		   if($(this).height() > _oldHeight){
             	$("#ch").animate({ scrollTop: $(this).height() }, "slow");
    			_oldHeight = $(this).height();
    		   }
      return false;
            });
        }
        
     
    </script>
  • 11-01-2017, 21:32:50
    #3
    Çok teşekkürler tam aradığım şey, mantığı anladım heighte göre yorum yapıyor. Sorunsuz çalışıyor.

    Fakat sql fazla kasmaması ve kalabalık olmaması için limit 30 diye çekiyorum
    tabloda 29 veri varsa 29a kadar yeni veri geldiğinde aşağı atıyor
    30 dan sonra height miktarı değişmediği için yeni şeyler gelince aşağı göndermiyor, o konu hakkında yapabileceğimiz kısa bir şey var mı
  • 13-01-2017, 22:04:33
    #4
    darkymarky adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkürler tam aradığım şey, mantığı anladım heighte göre yorum yapıyor. Sorunsuz çalışıyor.

    Fakat sql fazla kasmaması ve kalabalık olmaması için limit 30 diye çekiyorum
    tabloda 29 veri varsa 29a kadar yeni veri geldiğinde aşağı atıyor
    30 dan sonra height miktarı değişmediği için yeni şeyler gelince aşağı göndermiyor, o konu hakkında yapabileceğimiz kısa bir şey var mı
    Eski yükseklik değerini refresh fonksiyonunun içine alın yani her yenilemede bu değer tekrar alınsın sorun düzelir
  • 16-01-2017, 19:02:41
    #5
    eski yükseklik değerini koyarsam devamlı refresh eder ben önceki yazılan içeriklere bakarken 1,5 sn sonra refresh edip rahat bir şekilde eskilere baktırmama izin vermez bu yuzden height kullandım,


    sadece yeni kayıt geldiğinde refresh yapsın sayfa değiştiğini kontrol etsin değişmediyse refresh vermesin ile ilgili şeyler araştırdım fakat tam verim alamadım

    height kısa yoldan işi çözecek gibi eğer bu sorun halledilebilirse.


    old.height > new height gibi

    sayfa değiştiyse > scrool down , değişmediyse vb. gibi kısa bir kod var mı
  • 16-01-2017, 21:04:09
    #6
    Merhaba,

    ch.php de dönen sonuç nedir?

    Dönen sonuca göre sisteme işleyiş belirleyebilirsiniz örnek vermek gerekirse json olarak veri döndürün ve dönen değeler back-end tarafında yeni olup olmadığını bilgi versin.

    Böylelikle json olarak gelen veriyi check ederek istediğiniz işlemleri yaptırın.

    Backend den salt veri döndürmeyin.
  • 16-01-2017, 21:10:44
    #7
    öncelikle cevabınız için teşekkürler ch de tipik basit html dönüyor <li> veri</li><br>

    demek istdiğiniz bu şekilde mi

    var eskiVeri = $("#ch").val();
    if (eskiVeri != yeniVeri){
    refresh();
    }
    yeniveri kısmını =! sonucu ile entegre edemedim, kodu ekledigim zaman hiç çalışmıyor
  • 18-01-2017, 18:38:25
    #8
    Takıldığım yalnızca bir kısım kaldı;

    index.php deki jquery ye ch.php?time=<?$time?> ekledim

    ch.php içerisinde time - 5 saniye diyerek kontrol ettireceğim
    5 saniye ise 1 değeri verecek

    php

    function sayfakontrol($xa){
    if (date("d.m.Y H:i:s.",$ilktarih)>date("d.m.Y H:i:s.", ($songirditarih){
    return 1;
    }else{
    return 0;
    }
    
    }



    Java

    if(sayfakontrol==1){  xxxx }


    fakat index.php de ch.php den gelen sayfakontrolu çağıramıyorum hata veriyor