• 14-11-2016, 19:09:45
    #1
    Merhaba PHP'de oldukça amatörümde bir sitede Nöbetçi Eczaneleri göstermek istiyorum. Ama sadece o güne ait olanı değil düne, bugüne ve yarına ait veriyi çekmek istiyorum. Çekeceğim bilgilerde mümkünse sadece bi txt belgesinden çekiyim bu mümkün mü bilmiyorum ama içeriğim örnek şu şekilde olacak.

    12.11.2016 a eczane
    13.11.2016 b eczane
    14.11.2016 c eczane
    15.11.2016 d eczane
    16.11.2016 e eczane

    ben bunun içinden bana b, c ve d'yi çeksin istiyorum. umarım anlatabilmişimdir.
  • 14-11-2016, 19:51:44
    #2
    test.txt
    11.11.2016 - Halangil Eczanesi
    12.11.2016 - Dayıoğlu Eczanesi
    13.11.2016 - Yener Eczanesi
    14.11.2016 - Yenmez Eczanesi
    14.11.2016 - Yenmez 2 Eczanesi
    15.11.2016 - Yenebilir Eczanesi
    16.11.2016 - Hadi Len Eczanesi
    test.php
    <?php 
    function satirGetir($dosyaAdi, $arama) {
        $satirlar = file($dosyaAdi);
        foreach ($satirlar as $satirNo => $satir) {
            if (strpos($satir, $arama) !== false) {
                echo '<div>'.$satir.'</div>';
            }
        }
    }
    $tarihler = [date('d.m.Y',strtotime("-1 days")),date('d.m.Y', time()),date('d.m.Y',strtotime("+1 days"))];
    foreach($tarihler as $tarih)
    {
    	echo satirGetir("test.txt", $tarih);	
    }
    Ekran Çıktısı:


    Yukarıdaki kodlarda, öncelike txt dosyasını file() fonksiyonu ile her satırı bir eleman olacak şekilde diziye çeviriyoruz. Daha sonra diziyi döngüye sokuyoruz ve istediğimiz kelime her döngüde, ilgili satırda var mı diye bakıyoruz. Eğer varsa ilgili satırı ekrana basıp diğer satıra geçiyoruz. Bu sayede aradığımız anahtar kelimenin olduğu elemanlar ekrana basılmış oluyor.

    Fonksiyonu yazdıktan sonra istediğimiz anahtar kelime birden fazla olduğu için (dün, bugün, yarın) bu değerleri dizi olarak değişkene atıp, bir döngü ile yukarıda yazdığımız fonksiyona her bir anahtar kelimeyi gönderiyoruz. Böylece dün, bugün ve yarına ait tarihleri içeren satırlar ekrana yazılmış oluyor.
  • 14-11-2016, 20:09:48
    #3
    Elinize, bilginize sağlık, tam olarak istediğim buydu, teşekkürler

    bayGaReZ adlı üyeden alıntı: mesajı görüntüle
    test.txt
    11.11.2016 - Halangil Eczanesi
    12.11.2016 - Dayıoğlu Eczanesi
    13.11.2016 - Yener Eczanesi
    14.11.2016 - Yenmez Eczanesi
    14.11.2016 - Yenmez 2 Eczanesi
    15.11.2016 - Yenebilir Eczanesi
    16.11.2016 - Hadi Len Eczanesi
    test.php
    <?php 
    function satirGetir($dosyaAdi, $arama) {
        $satirlar = file($dosyaAdi);
        foreach ($satirlar as $satirNo => $satir) {
            if (strpos($satir, $arama) !== false) {
                echo '<div>'.$satir.'</div>';
            }
        }
    }
    $tarihler = [date('d.m.Y',strtotime("-1 days")),date('d.m.Y', time()),date('d.m.Y',strtotime("+1 days"))];
    foreach($tarihler as $tarih)
    {
        echo satirGetir("test.txt", $tarih);    
    }
    Ekran Çıktısı:


    Yukarıdaki kodlarda, öncelike txt dosyasını file() fonksiyonu ile her satırı bir eleman olacak şekilde diziye çeviriyoruz. Daha sonra diziyi döngüye sokuyoruz ve istediğimiz kelime her döngüde, ilgili satırda var mı diye bakıyoruz. Eğer varsa ilgili satırı ekrana basıp diğer satıra geçiyoruz. Bu sayede aradığımız anahtar kelimenin olduğu elemanlar ekrana basılmış oluyor.

    Fonksiyonu yazdıktan sonra istediğimiz anahtar kelime birden fazla olduğu için (dün, bugün, yarın) bu değerleri dizi olarak değişkene atıp, bir döngü ile yukarıda yazdığımız fonksiyona her bir anahtar kelimeyi gönderiyoruz. Böylece dün, bugün ve yarına ait tarihleri içeren satırlar ekrana yazılmış oluyor.