Adalente adlı üyeden alıntı: mesajı görüntüle
Merhaba Arkadaşlar,

Şimdi bir oy sistemim var bu oy sisteminde 1 den 5 kadar yıldızlarla oy alıyorum. Şimdi oy ortalamasını alıp yıldız olarak nasıl gösteririm onu oturtamadım kafamda yardımcı olurmusunuz.

Aşağıdaki gibi 3 yorum almış 3 ile aldığı oyu bölüp işleme almam gerekli ama bunu yıldızlarda nasıl gösteririm onu çözemedim.
Oy ortalaması hesaplatmayla ilgili https://www.r10.net/1079399852-post8.html buradaki mesajımı inceleyebilirsiniz.

Yıldızların gösterimiyle ilgili ise;

$yildiz_adeti = round($oy_ortalama);
echo str_repeat('<i class="fa fa-star" style="padding-right:3px; color:#FFDF00;"></i>', $yildiz_adeti);
bu şekilde yapabilirsiniz. Bu kodda örneğin ortalamanız 3.4 ise 3 yıldız gösterir. 3.5 ve üstünde 4 yıldız gösterir. round fonksiyonu yuvarlama yaparak tam sayıya dönüştürür. str_repeat fonksiyonuyla for döngüsüne gerek kalmadan verilen adet kadar stringi yazdırabilirsiniz.

Eğer yarım yıldız vs. gösterim istiyorsanız onlar için farklı bir mantık izlemeniz gerekebilir.