• 27-04-2020, 18:59:37
    #1
    Merhaba, hava durumu ile alakalı siteme bir bot yapıyorum. Ancak ne yapsam döngüde, dosyadaki şehir idlerini tek tek çekip hepsini bir anda ekrana yazdıramadım.

    Öncelikle verileri alacağım site örneği şu şekilde; İstanbul hava durumu = havadurumusite.com/34111 , Ankara hava durumu = havadurumusite.com/06111

    Ben "/" bundan sonraki idleri tek tek, alt alta tüm şehirlerin ID'sini sehirid.txt dosyasına ekledim.

    Foreach döngüsü kurarak veriyi çekiyorum ancak her zaman sehirid.txt dosyasının sonunda bulunan şehrin ID çekerek sadece o şehre ait hava durumunu ekrana yazdırıyor.

    Benim isteğim ise tek tek, satır satır tüm şehir idlerini çekerek hepsini bir anda tek ekrana yazdırmasını istiyorum.

    Örnek; "Ankara 16' 32', Istanbul 17' 32', Izmir 20' 35' bu şekilde tüm hepsini tek ekranda yazdırmak istiyorum.

    Bu konuda yardımcı olabilirseniz sevinirim.
    require_once 'simple_html_dom.php';
    
    $html = file_get_html('https://havadurumsite.com');
    $sonuc = $html->find('<td>');
    
    $dosya = fopen("sehirid.txt","r");
    while($satir = fgets($dosya))
    $veri[] = $satir;
    
    foreach ($sonuc as $key){
           $url = "havadurumsite.com".$key->href;
    $html = file_get_html($url);
    
    echo $havadurum = $html->find('<td>',0);
    echo "<br>";
    echo $havadurum = $html->find('<td>',1)->plaintext;
    echo "<br>";
    echo $havadurum = $html->find('<td>',2)->plaintext;
    echo "<br>";
    echo $havadurum = $html->find('<td>',3)->plaintext;
    echo "<br>";
    echo $havadurum = $html->find('<td>',4)->plaintext;
    echo "<br>";
    echo $havadurum = $html->find('<td>',5)->plaintext;
    echo "<br>";
    echo $havadurum = $html->find('<td>',6)->plaintext;
    echo "<br>";
    }
  • 27-04-2020, 19:01:38
    #2
    Sanırsam foreach döngüsü çalışıyor ama her döngüde değişkeni sıfırlıyorsun o yüzden de sonuncu veri geliyor. Kodu buraya atarsan kontrol edelim.
  • 27-04-2020, 19:04:37
    #3
    http://www.erencan.net/icerik/3/api-...ekmek-ucretsiz

    Zamanında bir fonksiyon yazmıştım hocam işinizi görebilir.
  • 27-04-2020, 19:06:46
    #4
    Hocam siz bi kere mantığı fazla uzatmışsınız, şehirleri ve plaka kodlarını bir değişkene array şeklinde yazın, sonra o array ı foreach e sokun. Her foreach de gitsin veriyi alsın gelsin;

    $iller = [
    '01' => 'Adana',
    '02' => 'Adıyaman',
    '03' => 'Afyonkarahisar',
    ... => ...
    ];
  • 27-04-2020, 19:07:12
    #5
    While döngüsü ile daha sağlıklı bir çalışma yapabilirsiniz. Örneğin:
    $dosya = fopen("sehirid.txt",'r');
    while(!feof($dosya)){
    $satir = fgets($file);
    echo "$satir <br>";
    }
    fclose($dosya);
  • 27-04-2020, 19:07:50
    #6
    BerkayZ adlı üyeden alıntı: mesajı görüntüle
    Sanırsam foreach döngüsü çalışıyor ama her döngüde değişkeni sıfırlıyorsun o yüzden de sonuncu veri geliyor. Kodu buraya atarsan kontrol edelim.
    Konumu tekrar düzenledim hocam.



    Abdullahx adlı üyeden alıntı: mesajı görüntüle
    Hocam siz bi kere mantığı fazla uzatmışsınız, şehirleri ve plaka kodlarını bir değişkene array şeklinde yazın, sonra o array ı foreach e sokun. Her foreach de gitsin veriyi alsın gelsin;

    $iller = [
    '01' => 'Adana',
    '02' => 'Adıyaman',
    '03' => 'Afyonkarahisar',
    ... => ...
    ];
    Teşekkürler mesajınız için, hocambu mantığı da uygulamaya kalktım. Ancak bir türlü oturtamadım. Yanlış mı yazıyorum anlamadım



    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    http://www.erencan.net/icerik/3/api-...ekmek-ucretsiz

    Zamanında bir fonksiyon yazmıştım hocam işinizi görebilir.
    Teşekkürler hocam inceleyeceğim hemen.



    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    http://www.erencan.net/icerik/3/api-...ekmek-ucretsiz

    Zamanında bir fonksiyon yazmıştım hocam işinizi görebilir.
    Teşekkürler hocamçok işime yaradı. Bir sorum daha var. Cevap veriseniz sevinirim. Acaba namaz vakitlerini çekerken, foreach döngüsünü nasıl yapmam gerekiyor. Bu konuda yardım edebilir misiniz?
  • 27-04-2020, 20:43:04
    #7
    huseyindundar adlı üyeden alıntı: mesajı görüntüle
    Konumu tekrar düzenledim hocam.




    Teşekkürler mesajınız için, hocambu mantığı da uygulamaya kalktım. Ancak bir türlü oturtamadım. Yanlış mı yazıyorum anlamadım




    Teşekkürler hocam inceleyeceğim hemen.




    Teşekkürler hocamçok işime yaradı. Bir sorum daha var. Cevap veriseniz sevinirim. Acaba namaz vakitlerini çekerken, foreach döngüsünü nasıl yapmam gerekiyor. Bu konuda yardım edebilir misiniz?
    Namaz vakitleriyle ilgili bir bilgim yok hocam nereden çektiğinizi yazarsanız bir kontrol edeyim duruma göre bir fonksiyonda ona yazarız insanlara faydası olsun
  • 27-04-2020, 20:45:47
    #8
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    Namaz vakitleriyle ilgili bir bilgim yok hocam nereden çektiğinizi yazarsanız bir kontrol edeyim duruma göre bir fonksiyonda ona yazarız insanlara faydası olsun
    https://namazvakitleri.diyanet.gov.tr/tr-TR/ buradan hocam. Allah razı olsun teşekkür ediyorum iyi düşüncenizden dolayı..