• 10-01-2021, 19:55:26
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar, yorum yanında puan sistemi de yapıyorum ve konularda puanlama (ranting) verisini de göstermek istiyorum. Ama div'e vereceğim puan ile oraya ilgili yıldız gelecek.

    Eğer ortalama puan örnek 2,5 ise puan 2 olması gerek

    ilk iki yıldıza ait div aşağıdaki gibi olsun istiyorum

    <div class="yildiz-2">
    <div class="yildiz-2">
    <div class="yildiz-0">
    <div class="yildiz-0">
    <div class="yildiz-0">

    ortalama puan 3 ise

    <div class="yildiz-3">
    <div class="yildiz-3">
    <div class="yildiz-3">
    <div class="yildiz-0">
    <div class="yildiz-0">

    olsun istiyorum. Kullandığım else if li yapı aşağıda ama beceremedim maalesef.

    Desteklerinizi rica ederim.

    <div class="yildiz-<?php if($yorumpuan->yorum_puan < 1){ echo '0';} elseif($yorumpuan->yorum_puan > 1){ echo '1';} elseif($yorumpuan->yorum_puan > 2){ echo '2';} elseif($yorumpuan->yorum_puan > 3){ echo '3';} elseif($yorumpuan->yorum_puan > 4){ echo '4';} elseif($yorumpuan->yorum_puan == 5){ echo '5';} ?>"></div>
  • 10-01-2021, 19:59:30
    #2
    PHP Ortalama diye araştırın biraz ceil fonksiyonu ile halledebilirsiniz.

    Else if kullanmak yerine
    Alıntı
    <?php echo ceil($yorumpuan->yorum_puan); ?>
    yapabilirsiniz.
  • 10-01-2021, 20:02:49
    #3
    Üyeliği durduruldu
    nacrept adlı üyeden alıntı: mesajı görüntüle
    PHP Ortalama diye araştırın biraz ceil fonksiyonu ile halledebilirsiniz.

    Else if kullanmak yerine yapabilirsiniz.
    yorumpuan zaten avg ile geliyor hocam örnek 2.5 geldiğinde puan 2 ama 5 yıldız alanı da doluyor ben ilk iki div alanı 2 diğerleri 0 olsun istiyorum. özetle ilk iki yıldız parlak 3,4,5 yıldız pasif olsun istiyorum
  • 11-01-2021, 00:50:57
    #4
    <?php
    $puan = round($yorumpuan->yorum_puan);
    for ($i = 1; $i <= 5; $i++) {?>
    <div class="yildiz-<?php if($puan < $i){ echo '0';}else{ echo $puan;}?>"></div>
    <?php }?>
  • 11-01-2021, 13:21:14
    #5
    Yıldız 3 dediğiniz class'ı nasıl bir içerik barındırıyor hocam *** *** *** (0) (0) gibi bir mantık oluyor onun yerine dolu yada boş şeklinde yaparsanız gelen sayıya göre örn: 3 geldi o zaman 3 dolu yazdırın 5 den 3 ü çıkarıp 2 tane boş basın