v2.5.2
Giriş yap

Tabloyu belirli bir sürede otomatik olarak yenilemek

g4rymckinn0n
227 defa görüntülendi

merhaba

bir tablo yaptım ve içerisinde altın fiyatlarını gösteriyorum. bu fiyatları 10 saniyede bir güncellemek istiyorum.

buton koyarak yapıyorum. butona tıklandığında değil de belirli bir sürede bunu nasıl yapabilirim?

<tr>
      <th scope="row">HAS</th>
      <td><span id="try"><?php echo $currency['data']['ALTIN']['alis']; ?></td>
      <td><span id="try2"><?php echo $currency['data']['ALTIN']['satis']; ?></td>
      <td><span id="try3"><?php echo $currency['data']['ALTIN']['tarih']; ?></td>
    </tr>
    
    <button type="button" id="update" class="btn btn-primary btn-sm btn-block">guncelle</button>


        $( "#update" ).click(function() {
        $.getJSON("<?php echo $source; ?>", function(x){
            $("#try").text(x['data']['ALTIN']['alis']);
        });
        });
        
        $( "#update" ).click(function() {
        $.getJSON("<?php echo $source; ?>", function(x){
            $("#try2").text(x['data']['ALTIN']['satis']);
        });
        });

        $( "#update" ).click(function() {
        $.getJSON("<?php echo $source; ?>", function(x){
            $("#try3").text(x['data']['ALTIN']['tarih']);
        });
        });

ayrıca gördüğünüz üzere aynı işi 3 kere aynı şekilde yapmışım. henüz fonksiyon ve döngülerde yeterli olmadığım için işimi bu şekilde görüyorum. yavaş yavaş öğreniyorum. mesela bu kod yapısına spagetti dendiğini öğrendim dün :)

Cevap yaz
Cevaplar (2)
abdullahx
808 gün önce
setInterval(() => {
        $.getJSON('<?= $source ?>', data => {
            $("#try").html(data.data.ALTIN.alis)
            $("#try2").html(data.data.ALTIN.satis)
            $("#try3").html(data.data.ALTIN.tarih)
        })
    }, 10e3)

Ayrıca tablodaki span taglerini de kapatmayı unutmuşsun

<td><span id="try"><?= $currency['data']['ALTIN']['alis']; ?></span></td>
<td><span id="try2"><?= $currency['data']['ALTIN']['satis']; ?></span></td>
<td><span id="try3"><?= $currency['data']['ALTIN']['tarih']; ?></span></td>
g4rymckinn0n
808 gün önce

@abdullahx teşekkür ederim. facepalm emojisi koymak istedim spanları kapatmayışıma :)

ayrıca ben şu şekilde yapmaya çalıştım sonuç aldım. bunu nasıl kısaltabilirim diye sormaya geldim. sormadan ona da cevap verilmiş oldu.

     $(document).ready(function() {
            setInterval( function() {
            $.getJSON("<?php echo $source; ?>", function(x){
            $("#try").text(x['data']['ALTIN']['alis']);
            })}, 1000);
            });

            $(document).ready(function() {
            setInterval( function() {
            $.getJSON("<?php echo $source; ?>", function(x){
            $("#try2").text(x['data']['ALTIN']['satis']);
            })}, 1000);
            });

            $(document).ready(function() {
            setInterval( function() {
            $.getJSON("<?php echo $source; ?>", function(x){
            $("#try3").text(x['data']['ALTIN']['tarih']);
            })}, 1000);
            });

ikisini kıyas edip mantığı kavramaya çalışacağım tekrar teşekkür ederim.