• 23-05-2022, 16:36:05
    #1
    SQL sorgusuyla aşağıdaki şekilde sonuç alıyorum.

    personel1 --- 06.05.2022 --- YILLIK İZİN
    personel1 --- 11.05.2022 --- YILLIK İZİN
    personel1 --- 12.05.2022 --- YILLIK İZİN
    personel1 --- 13.05.2022 --- YILLIK İZİN
    personel2 --- 05.05.2022 --- YILLIK İZİN
    personel2 --- 06.05.2022 --- YILLIK İZİN
    personel2 --- 07.05.2022 --- YILLIK İZİN
    personel2 --- 08.05.2022 --- YILLIK İZİN
    personel2 --- 29.05.2022 --- YILLIK İZİN
    personel2 --- 30.05.2022 --- YILLIK İZİN

    Benim istediğim olay şu şekildedir. Yukarıdaki verilere göre;
    - personel1 06.05.2022 tarihinde 1 gün YILLIK izin kullanmıştır.
    - personel1 11.05.2022-13.05.2022 tarihleri arasında 3 gün YILLIK İZİN kullanmıştır.
    - personel2 05.05.2022-08.05.2022 tarihleri arasında 4 gün YILLIK İZİN kullanmıştır.
    - personel2 29.05.2022-30.05.2022 tarihleri arasında 2 gün YILLIK İZİN kullanmıştır.

    Gelen verileri bu şekilde bir mantıkla nasıl gruplayabilirim?

    Teşekkürler.
  • 23-05-2022, 16:54:52
    #2
    Üyeliği durduruldu
    Tarihleri group by tarih_sutun_alani olarak gruplarsınız fakat izin sayılarını count ile saydırmanız lazım kaç adet izin olduğunu veya sum ile toplama da yapabilirsiniz 5 tane izin diye ikiside olabilir.
  • 23-05-2022, 16:58:58
    #3
    Php öğrenmeye 2 gün önce başladım o yüzden cevabım aşırı uzun olabilir benden daha kısa şekilde yapacak illaki vardır ama çıkmazsa diye sanırım bu işini görebilir.

    $gelenveri = "personel1 --- 06.05.2022 --- 3";

    $dizi = explode(" ---",$gelenveri);
    if ($dizi[2] == 1)
    {
    echo $dizi[0]." ".$dizi[1]." tarihinde ".$dizi[2]. " gün izin kullanmıştır.";
    }
    else
    {
    $date = new DateTime($dizi[1]);
    $date-> modify('+'.$dizi[2]. 'day');
    echo $dizi[0]." ".$dizi[1]." ve ".$date->format('d.m.Y')." tarihleri arasında ".$dizi[2]. " gün izin kullanmıştır.";
    }
  • 23-05-2022, 17:53:56
    #4
    hiç uğraşma yeni bir kolon ekle
    giriş ve çıkış tarihlerini ayrı tutsun sonra aradaki gün sayısını hesapla işlem tamamdır.
  • 26-05-2022, 05:24:15
    #5
    Sanırım yıllık izin tarihini bugün den çıkartıyor. Veri tabanına yıllık izin bitiş tarihi için bir sütun açıp bitiş tarihini belirtmen lazım. Sonrası sadece bitiş ve çıkış arasındaki tarih farkını alman kalır.
  • 26-05-2022, 07:37:54
    #6
    ntka adlı üyeden alıntı: mesajı görüntüle
    hiç uğraşma yeni bir kolon ekle
    giriş ve çıkış tarihlerini ayrı tutsun sonra aradaki gün sayısını hesapla işlem tamamdır.
    Benimde bildiğim izinlerin bu şekilde tutulması lazım. Bende bu şekilde tutmanızı öneririm.