• 05-01-2015, 22:00:48
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar bir başka soru ile yardımınıza ihtiyacım var,

    Şöyle bir sistem yapacağım,

    A :1-5 Gün arası
    B :5-10 Gün Arası
    C :10-15 Gün Arası
    D :15-20 Gün Arası
    E :20-30 Gün arası

    Bu seçeneklerin her birinin bir değeri var fiyat olarak,

    A :1-4 Gün 200 TL
    B :5-9 Gün 175 TL
    C :10-14 Gün 150 TL
    D :15-19 Gün 125 TL
    E :20-30 Gün 100 TL

    Yukarıdaki seçenekler bir kiralama seçeneği ve arama sorgusu ile belirlenen tarih seçenekleri arasındaki gün sayısını toplatıp yukarıdaki belirttiğim günler arasındaki hangi seçeneğe uygun ise onunla toplatmak istiyorum.

    Mesala 05 Ocak Tarihi ile 15 Ocak Tarihi arasında olan 10 Günü C seçeneği ile çarpıp ekrana yazacak, burada küçüktür büyük işlemlerini çözemedim, sorgumda gün sayısını çıkartabiliyorum ama tek ana seçenek olan A ile çarpabiliyor ancak, bunun bana bir örnek olarak öğretebilir misiniz?
  • 05-01-2015, 22:26:39
    #2
    mantık basit , tarihleri unixtime aldığınızı varsayıyorum. ilk tarih ile son tarih rakamlarını çıkartıp gelen saniye değerinden gün değerini bulacaksınız daha sonrasında işlem if elseif elseye kalmış şöyle ki ;

    if($gun >5){
    
    }elseif($gun >10){
    
    }elseif($gun >15){
    
    }elseif($gun >20){
    
    }else{
    
    }
    araları istediğin gibi doldur..
  • 05-01-2015, 23:51:57
    #3
    Üyeliği durduruldu
    Çok Teşekkür ederim @Big_Turk hemen deneyeceğim..
  • 06-01-2015, 03:01:22
    #4
    Grapxnet adlı üyeden alıntı: mesajı görüntüle
    Çok Teşekkür ederim @Big_Turk hemen deneyeceğim..
    "=" ibaresini kullanmayi unutmayin.

      if($day >= 5):
    
      elseif($day >= 10):
    
      elseif($day >= 15):
    
      elseif($day >= 20):
    
      else:
    
      endif;
  • 08-01-2015, 00:53:45
    #5
    Else if'e gerek yok hocam, switch case yapısı ile daha kolay yapabilirsiniz.
  • 08-01-2015, 03:15:03
    #6
    Üyeliği durduruldu
    Hocam @Ceu'nun dediği gibi switch case daha uygun ve daha stabil çalışma konusunda işinizi görecektir.
  • 08-01-2015, 14:06:21
    #7
    ylv
    Üyeliği durduruldu
    Big_Turk adlı üyeden alıntı: mesajı görüntüle
    mantık basit , tarihleri unixtime aldığınızı varsayıyorum. ilk tarih ile son tarih rakamlarını çıkartıp gelen saniye değerinden gün değerini bulacaksınız daha sonrasında işlem if elseif elseye kalmış şöyle ki ;

    if($gun >5){
    
    }elseif($gun >10){
    
    }elseif($gun >15){
    
    }elseif($gun >20){
    
    }else{
    
    }
    araları istediğin gibi doldur..

    if else yapısını kullanacaksınız, verilen kodda mantık hatası var, operatörü < olarak değiştirip kullanın.

    switch case kullanın msjlarını önemsemeyiniz, böyle bir durum yok. switch case bire bir karşılaştırma kullanılır. switch case daha stabil yazılmış neye göre stabil, if else stabil değil mi? if (false) true işlem yaptığı durumlar mı oluyor??

    iyi çalışmalar
  • 10-01-2015, 16:13:53
    #8
    Üyeliği durduruldu
    ylv adlı üyeden alıntı: mesajı görüntüle
    if else yapısını kullanacaksınız, verilen kodda mantık hatası var, operatörü < olarak değiştirip kullanın.

    switch case kullanın msjlarını önemsemeyiniz, böyle bir durum yok. switch case bire bir karşılaştırma kullanılır. switch case daha stabil yazılmış neye göre stabil, if else stabil değil mi? if (false) true işlem yaptığı durumlar mı oluyor??

    iyi çalışmalar
    Cevaplar için teşekkür ederim, bir örnekle gösterebilir misiniz rica etsem
  • 10-01-2015, 16:18:41
    #9
    Grapxnet adlı üyeden alıntı: mesajı görüntüle
    Cevaplar için teşekkür ederim, bir örnekle gösterebilir misiniz rica etsem
    switch (n) {
        case label1:
            code to be executed if n=label1;
            break;
        case label2:
            code to be executed if n=label2;
            break;
        case label3:
            code to be executed if n=label3;
            break;
        ...
        default:
            code to be executed if n is different from all labels;
    }