• 07-10-2009, 17:27:02
    #1
    Merhaba Arkadaşlar,
    aşağıda anlattığım konuda yardımcı olabilirseniz çok sevinirim.

    İlk tarihim
    Aralık 2008 den başlayarak her ayı ve yılı otamatik o ayın 1.günü geldiğinde yazsın istiyorum. Bir nevi arşivleme mantığı

    İlk ay
    Aralık 2008
    Ocak 2009
    Şubat 2009
    .... diye devam ediyor ve her ayın 1.günüde yılıyla beraber o ayı ekleyecek. Bu sonsuza dek gidecek;

    şimdiden teşekkürler.
  • 07-10-2009, 17:49:09
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    gunun tarihini değişkene ata
    $tarih=date("d/m/y"); 
    $gun=date("d");
    $ay=date("m");
    $yil = date("y");
    if ($gun=='1') {
    echo ''.$ay.' '.$yil.'';
    ama bu rakam olarak yazar ayları türkçe olarakta yazdırırsan her ayın birinci günü ekrana yazdırılır db atacaksan da atarsın anladığım kadarıyla...

    haşere ilacı
  • 07-10-2009, 17:56:27
    #3
    Teşekkür ederim ama yapmak istediğim tam olarak bu değil,

    sonucun çıktısını yazayım sana.
    Görüntü aynen aşağıda ki gibi olacak.


    12.2008
    01.2009
    02.2009
    03.2009
    04.2009
    05.2009
    06.2009
    07.2009
    08.2009
    09.2009

    şuan 9. ayda olduğumuz için çıktı görüntüsü yukardaki gibi olmalı
    10. aya girdiğimiz günse en altına
    10.2009 gelmedli
    her ay girdiğinde o ay ve o yıl eklenmeli

    sanırım bu sefer soru doğru oldu.
  • 07-10-2009, 18:09:37
    #4
    Üyeliği durduruldu
    az önce yazdım;

    $baslangic = '12.2008';
    $simdiki  = date('m.Y');
    
    preg_match("#([0-9]+)\.([0-9]+)#", $baslangic, $cikti1);
    preg_match("#([0-9]+)\.([0-9]+)#", $simdiki, $cikti2);
    
    for ($i = $cikti1[2]; $i <= $cikti2[2]; $i++)
    {
        $yil = $i;
        for ($x = 1; $x <= 12; $x++)
        {
            echo (strlen($x) == 1 ? '0' . $x : $x) . '.' . $yil . "<br>";
        }
    }
    $baslangıc değişkenindeki tarihten şimdiki zamana kadar istediğiniz şekilde sıralar.
  • 07-10-2009, 18:11:57
    #5
    aslında daha açık soru şu;

    12.2008 ile bugun tarihi arasında geçen verileri ay ve yıl cinsinden listeletmek.
  • 07-10-2009, 18:13:43
    #6
    yazdığın kodun çıktısı aşağıdaki gibi oldu.


    01.2008
    02.2008
    03.2008
    04.2008
    05.2008
    06.2008
    07.2008
    08.2008
    09.2008
    10.2008
    11.2008
    12.2008
    01.2009
    02.2009
    03.2009
    04.2009
    05.2009
    06.2009
    07.2009
    08.2009
    09.2009
    10.2009
    11.2009
    12.2009
  • 07-10-2009, 18:24:59
    #7
    Üyeliği durduruldu
    pardon if kontrolünü eklememişim buyrun bu şekilde çalışır.

    $baslangic = '12.2008';
    $simdiki  = date('m.Y');
    
    preg_match("#([0-9]+)\.([0-9]+)#", $baslangic, $cikti1);
    preg_match("#([0-9]+)\.([0-9]+)#", $simdiki, $cikti2);
    
    for ($i = $cikti1[2]; $i <= $cikti2[2]; $i++) {
        $yil = $i;
        for ($x = 1; $x <= 12; $x++) {
            if ($cikti1[2] == $yil) {
                if ($x >= $cikti1[1]) {
                    echo (strlen($x) == 1 ? '0' . $x : $x) . '.' . $yil . "<br />";
                }
            } else {
                echo (strlen($x) == 1 ? '0' . $x : $x) . '.' . $yil . "<br />";
            }
        }
    }
  • 07-10-2009, 23:10:31
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşım şu şekilde de yapabilirsin:
    $ay=12; $yil=2008; $m=true; 
    $bitis = date('m.Y'); 
    
    while($m === true){
      $ay = ($ay < 10) ? '0'.$ay : $ay; 
      $say= $ay.'.'.$yil;
      echo $say.'<br>';  
      if($say == $bitis) break;
      $ay++;
      if($ay>=12){$ay=1; $yil++;} 
    }
  • 08-10-2009, 11:42:34
    #9
    metadige adlı üyeden alıntı: mesajı görüntüle
    Arkadaşım şu şekilde de yapabilirsin:
    $ay=12; $yil=2008; $m=true; 
    $bitis = date('m.Y'); 
    while($m === true){
      $ay = ($ay < 10) ? '0'.$ay : $ay; 
      $say= $ay.'.'.$yil;
      echo $say.'<br>';  
      if($say == $bitis) break;
      $ay++;
      if($ay>=12){$ay=1; $yil++;} 
    }
    Budur! Çok teşekkür ederim, ellerine sağlık. İlgilenen diğer arkadaşımada çok teşekkür ederim.