• 07-10-2010, 17:50:12
    #1
    Merhabalar,
    Nümerik değerlere sahip 3 tane özel alan var elimde bir şekilde bu alanların ortalamasını almak istiyorum nasıl bir php kodu kullanmalıyım bunun için?
  • 07-10-2010, 17:57:22
    #2
    Üyeliği durduruldu
    alan adları sırayla alan1, alan2 ve alan3 olsun

    $deger1=get_post_meta($post->ID,"alan1",true);
    $deger2=get_post_meta($post->ID,"alan2",true);
    $deger3=get_post_meta($post->ID,"alan3",true);

    $ortalama = ($deger1 + $deger2 + $deger3) / 3;

    echo ($ortalama);


    unutmayın bu kodları

    temanızdaki herhangi bir

    while
    .
    .
    endwhile

    döngüsü içerisinde kullanmalısınız.
  • 07-10-2010, 18:04:50
    #3
    teşekkür ederim spider58 peki bunu ondalık kısmını nasıl 2 basamaklıya düşerebilirim ?
  • 07-10-2010, 18:13:12
    #4
    Üyeliği durduruldu
    undefined adlı üyeden alıntı: mesajı görüntüle
    teşekkür ederim spider58 peki bunu ondalık kısmını nasıl 2 basamaklıya düşerebilirim ?
     echo ($ortalama);


     echo (number_format($ortalama, 2, ",", "."));


    şeklinde yaz hocam. 2 rakamı ondalıktaki basamak sayısını gösterir.

  • 07-10-2010, 18:15:58
    #5
    teşekür ederim
  • 07-10-2010, 18:17:08
    #6
    Üyeliği durduruldu
    undefined adlı üyeden alıntı: mesajı görüntüle
    teşekür ederim
    rica ederim.
  • 07-10-2010, 19:11:20
    #7
    ufak bir sorunla daha karşılaştım; bir değer 0 olursa bunu ortalamaya dahil etmemek istiyorum diyelim ki
    iki değerimiz var
    biri 0 bu durumda 2ye değil 1'e bölünmesini istiyorum bu mümkün mü

    sorunumu baştan detaylı anlattım burada
  • 07-10-2010, 20:27:32
    #8
    Üyeliği durduruldu
    undefined adlı üyeden alıntı: mesajı görüntüle
    ufak bir sorunla daha karşılaştım; bir değer 0 olursa bunu ortalamaya dahil etmemek istiyorum diyelim ki
    iki değerimiz var
    biri 0 bu durumda 2ye değil 1'e bölünmesini istiyorum bu mümkün mü

    sorunumu baştan detaylı anlattım burada
    o zaman
    $ortalama = ($deger1 +  $deger2 +  $deger3) / 3;
    kısmını aşağıdaki ile değiştirin

    $kacabol = 0;
    
    if ($deger1 != 0) { $kacabol++; }
    if ($deger2 != 0) { $kacabol++; }
    if ($deger3 != 0) { $kacabol++; }
    
    $ortalama = ($deger1 +  $deger2 +  $deger3) / $kacabol;
  • 07-10-2010, 21:53:06
    #9
    Aşağıdaki şekilde değerleri alıp, düzenlerseniz, hata alma riskiniz azalır.

    $kacabol = 0;
    $deger1=(int) get_post_meta($post->ID,"alan1",true);
    $deger2=(int) get_post_meta($post->ID,"alan2",true);
    $deger3=(int) get_post_meta($post->ID,"alan3",true);
    
    if ($deger1 != 0) { $kacabol++; }
    if ($deger2 != 0) { $kacabol++; }
    if ($deger3 != 0) { $kacabol++; }
    
    if ($kacabol != 0) {
     $ortalama = ($deger1 +  $deger2 +  $deger3) / $kacabol;
    }else{
     $ortalama = 0;
    }
    echo $ortalama;