• 24-02-2018, 13:51:32
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    merhaba arkadaşlar curl kullanarak canlı maç dakikalarını çekiyorum bir tabloya yazdırıyorum ancak maçın dakikası değiştikçe benim yazdırdığım ekran da da değişsin istiyorum
    normalde curl ile veritabanı işlemlerini yaptım daha iyi sorabilmek adına örnek bir kod yazdım
    aşağıda örnek kodda $maclar kısmı hedef sitenin maç verileri ordaki dakikalar sürekli değişiyor ama ben içeriği çektiğimde dakika kaç ise ekrana onu yazıyor setinterval ile denedim tarayıcı donuyor bu konuda yardımcı olabilirmisiniz?
    tek istediğim maçlar değişkeni dakikada bir yenilenip dakia değiştikçe ekranımda dinamik değişmesini istedim

    <body>
        <table id="example" class="display" cellspacing="0" width="25%">
            <thead>
                <tr>
                    <th>Maç id</th>
                    <th>evsahibi</th>
                    <th>misafir</th>
                    <th>dakika</th>
                </tr>
            </thead>
            <tbody>
                <?php 
                //maçlar değişkeni hedef siteden curl ile parse ettiğim link bu link te dakika haliyle sürekli değişiyor
                $maclar  ="{mId:18225968,dakika:'16',evsahibi:'fenerbahçe',misafir:'galatasaray'},{mId:32554985,dakika:'33',evsahibi:'barcelona',misafir:'realmadrid'},{mId:36524892,dakika:'88',evsahibi:'konyaspor',misafir:'bursaspor'}";
                //maçlar değişkeninden almak istediğim kısımları alıyorum
                preg_match_all("#{mId:(.*?),dakika:'(.*?)',evsahibi:'(.*?)',misafir:'(.*?)'}#Ssie", $maclar, $mac);
                
                //macidleri normalde veritabanıma kayıt yaptırarak sorgu yapıyorum veritabanı gibi düşünelim
                $macidleri = array("18225968","","36524892");
                
                for($i=0;$i<count($mac[1]);$i++){
                    $idsi = $mac[1][$i];
                    $evsahibi = $mac[3][$i];
                    $misafir = $mac[4][$i];
                    $dakika = $mac[2][$i];
                    if($mac[1][$i]==$macidleri[$i]){ ?>
                    <tr>
                        <td><?php echo $idsi?></td> 
                        <td><?php echo $evsahibi?></td>
                        <td><?php echo $misafir?></td>
                        <td><?php echo $dakika?></td>
                    </tr>                
                    <?php    }
                }
                ?>
            </tbody>
        </table>
    </body>
  • 24-02-2018, 13:57:25
    #2
    Cpanelden cronjob ile bot php dosyasını 1 dk bir yenilemesini sağla o zaman olabilir diye düşünüyorum uzman arkadaşlar daha iyi bilir
  • 24-02-2018, 13:59:25
    #3
    Üyeliği durduruldu
    header("Refresh: 10; url=http://siteadi.com");
    PHP ile bence sayfa yenilenmeden hiçbir işlem yapamazsın. Javascript ile olabilir diye düşünüyorum. 10 yazan kısma istediğiniz 0'dan sonsuza kadar değer girebilirsiniz. 60 yaparsanız her dakikada sayfanız yenilenecektir. Diğer türlü nasıl olur hiçbir fikrim yok.
  • 24-02-2018, 14:07:58
    #4
    Hellyeah adlı üyeden alıntı: mesajı görüntüle
    Cpanelden cronjob ile bot php dosyasını 1 dk bir yenilemesini sağla o zaman olabilir diye düşünüyorum uzman arkadaşlar daha iyi bilir
    hocam şuan localhostta çalışıyorum cronjob ile tam olarak istediğim sonucu alırmıyım bilmiyorum cevabınız için teşekkürler.

    angelicmoon adlı üyeden alıntı: mesajı görüntüle
    header("Refresh: 10; url=http://siteadi.com");
    PHP ile bence sayfa yenilenmeden hiçbir işlem yapamazsın. Javascript ile olabilir diye düşünüyorum. 10 yazan kısma istediğiniz 0'dan sonsuza kadar değer girebilirsiniz. 60 yaparsanız her dakikada sayfanız yenilenecektir. Diğer türlü nasıl olur hiçbir fikrim yok.
    hocam sayfayı refresh yaparak oluyor tabiki ama her dakika sayfanın yenilenmesi yüklenmesi hoş olumuyor. asıl istediğim örnek kodda sadece $dakika değişkenine uyarlamak yada $maclar değişkenine uyarlayıp daha orjinal birşey olsun istedim ajax gibi
  • 24-02-2018, 14:27:13
    #5
    Javascript veya ajax ile olması lazımdı sayfayı yenilemeden dosyayı yenileme işlemi yapıyodu bu arada bot için bana yardımcı olabilir misin ?
  • 24-02-2018, 17:18:33
    #6
    Sayfayı değil sadece verileri yazdırdığın divleri yenileyebilirsin ajax ile fakat sunucuyu yoran bir yol olabilir bu. Bunun yerine nodejs ile yaparsan hem daha kolay hemde performanstan yararlanırsın. Real-time uygulamalar için nodejs tercih etmelisin diyorum. Kolay gelsin
  • 24-02-2018, 19:18:00
    #7
    Bir çok seçenecek mümkün tabi ki ama sunucu yorulmaması ve yenilenmemesi adına önerim şu şekilde olacaktır.
    JS veya PHP ile sessiona ilk çeliken dakikayı kayıt edip daha sonra en azından 5 dakika aralıklarla duraklama gibi durumlardan dolayı güncelleme yapmanız daha sağlıklı olabilir.
    1. Alınan dakikayı sayfa onload olduğunda js aktarın ve basit bir sayaç uygulaması yapın ve sınırlama olarak ise +45 ve +90 olarak belirtin
    bu sayede aşırı istek tanımlamak yerine ön tanımlı bir dakika uygulaması ile işlem tamamlanmış olur.
    2. +45 ve +90 sürelerinde bot dosyasını tekleyebilirsiniz ve sadece o dakikalardan uzatma zamanlarını ve başlama zamanlarını güncellemiş olursunuz
  • 24-02-2018, 19:48:45
    #8
    Sistemini PHP ise PHP ile Redis + Socket.IO ve NodeJS(sadece redis pub yapıp socket'e emit edecek) i harmanlayıp güzel bir şey yapabilirsiniz. Tabiki bukadar uğraşmaya değer mi onu bilmiyorum
  • 24-02-2018, 20:41:27
    #9
    Üyeliği durduruldu
    Nodejs redis socket filan kasmaya gerek yok.
    Ajax ile div load yapacaksınız