Veri Tabanındaki ayların toplamı?

pialfa Talip KORKMAZ Avatar

Merhaba;
Veri tabanında tarih diye bir bölüm mevcut, 2011-12-05 şeklinde bu tarih alanında bulunan ay bölümünü alıp toplam adetini nasıl çıkarabilirim.
Yani her aydan kaç adet varsa örn:10. aydan 2 tane varsan 2, 12. aydan 5 tane kayıtlı varsa 5 adetini almak isiyorum.Bir örnek verecek olursak

2011-05-11
2011-05-07         > Mayıs toplam 3 adet gibi
2011-05-23

16-05-2011 02:36

    Php

    MURAT23351 murat akıl

    Ayak üstü aklıma gelen yöntem bu şekilde , denedim de çalışıyor. bir çok değişik yöntem var aklıma bu yöntem geldi bu örneğe bakarak geliştirebilirsin.

    <?php

    include("ayar.php");
    $baglanti = mysql_connect($dbhost,$dbkullanici,$dbsifre) or die("Veritaban&yacute;na ba&eth;lan&yacute;lamad&yacute;.");
    @mysql_select_db($db);

    $sql="SELECT * FROM tarih ORDER BY NO DESC ";
    $oku = @mysql_query($sql);
    $satirsayisi=@mysql_num_rows($oku);
    $MAYIS=0;
    $HAZİRAN=0;
    for ($i=0;$i<$satirsayisi;$i++)
    {
    $satir=@mysql_fetch_array($oku);

     

    $dbgelengelentarih=$satir["TARIH"];
    $tarihayir = $dbgelengelentarih;
    $kelimeler = explode(".",$tarihayir);
    $AYIBUL= $kelimeler[1];

    if ($AYIBUL==05)
    {

    $MAYIS=$MAYIS+1;
    }

    ELSEif($AYIBUL==06)
    {

    $HAZIRAN=$HAZIRAN+1;
    }


    }
    echo "MAYIS AYINDAN TOPLAM $MAYIS <br>";
    echo "HAZİRAN AYINDAN TOPLAM $HAZIRAN <br>";
    ?>

    16-05-2011 18:59 Edit:16-05-2011 20:28

      Php

      MURAT23351 murat akıl

      . yerine - kullanırsan ozaman (-) göre ayrıacak tarihin günü bulmak istersen  $kelimeler[1]; yerine  $kelimeler[0]; yıl içinse  $kelimeler[3]; yazarak istediğin parçaladığın kısmı bulabilrsin tarih olarak 27.05.2011 biçimde örneği yaptım sen bu örneğe 2011-05-03 göre geliştirisin artık.

      16-05-2011 19:02

        pialfa Talip KORKMAZ Avatar

        Peki neden +1 eklendin oraya takıldım

        16-05-2011 19:55

          Php

          php ve mysql ile aylara göre saydırma şöyle olacak

           

          $sonuc = mysql_query("SELECT MONTH(tarih) AS ay, COUNT(*) AS adet  FROM tablo GROUP BY ay");

          sonucu parçaladığında
          echo "Bu ay: ". $satir["ay"] ."-". $satir["adet"]."<br>";

           

          Her programcı birgün Php yi tadacaktır
          16-05-2011 19:06 Edit:16-05-2011 19:08

            php

            pialfa Talip KORKMAZ Avatar

            Biraz daha ayrıntılı anlatırmısın üstat tam anlayamadım.Explode ile ayrıntılı parcalamam gerekiyor mu? Ay alanını ayırmak için

            16-05-2011 19:58 Edit:16-05-2011 19:58

              Php

              MURAT23351 murat akıl

              $dbgelengelentarih="27.05.2011"; //olarak bir tarih olsun
              $tarihayir = $dbgelengelentarih;
              $kelimeler = explode(".",$tarihayir);
              $AYIBUL= $kelimeler[1];

              bunun çıktısı

              05 dir. veritabanından gelen tarihler buna göre ayrıacak 05 ise o tarih , MAYIS a +1 koyacak. 06 ya  denkse hazirana +1 , temmuza denkse temmuzu  +1 artıracak 12 aya kadar gidersin en sonrda toplamları yazdırırsın. olur biter. phpnin  kilidi bütün kapıları açar :)))

              16-05-2011 20:21 Edit:16-05-2011 20:49

                Php

                önerdiğim yöntem iki satır ile bitiyor. veriyi parçalamak için  mysql_fetch_array komutunu kullanmanız yeterli. Aylar numarası ve adeti ile gösteriliyor.

                Her programcı birgün Php yi tadacaktır
                17-05-2011 18:31

                  Php

                  MURAT23351 murat akıl

                  drekon gerçekten kısaymış çalışan kod ise aşağıda

                  <?php
                  include("ayar.php");
                  $baglanti = mysql_connect($dbhost,$dbkullanici,$dbsifre) or die("Veritaban&yacute;na ba&eth;lan&yacute;lamad&yacute;.");
                  $sec  = mysql_select_db($db);
                  $sonuc = mysql_query("SELECT MONTH(TARIH) AS ay, COUNT(*) AS adet  FROM tarih GROUP BY ay ORDER BY NO DESC");
                  $tarihtr = array(
                      '1'     =>    'Ocak',
                      '2'    =>    'Subat',
                      '3'       =>    'Mart',
                      '4'       =>    'Nisan',
                      '5'         =>    'Mayis',
                      '6'        =>    'Haziran',
                      '7'        =>    'Temmuz',
                      '8'      =>    'Agustos',
                      '9'   =>    'Eylul',
                      '10'     =>    'Ekim',
                      '11'    =>    'Kasim',
                      '12'    =>    'Aralik',
                   
                  );

                  while ($satir=@mysql_fetch_array($sonuc))
                  {


                  $tr1= strtr($satir["ay"], $tarihtr);
                  echo "$tr1 Ayından Toplam : ". $satir["adet"]." Kayıt Var<br>";

                   

                  }


                  ?>

                  18-05-2011 14:13

                    pialfa Talip KORKMAZ Avatar

                    Bunu ayrı ayrı 12 değişkene atamak istiyroum nasıl yapabilirim

                    21-05-2011 21:51

                      www.Phpkodlari.com © 2009 Herkes Php öğrenecek
                      Web tasarım ve eğitim kaynağınız.