سعید
4 سال پیش توسط سعید مطرح شد
1 پاسخ

نمایش امتیاز ستاره ای

سلام دوستان وقتتون بخیر
من برای مقالات خودم سیستم rating رو پیاده کردم.
و براساس ip کاربر پیاده شده .
یعنی هر ip میتونه از 1 تا 5 ستاره به هر مقاله بده. و مجموع امتیازات هر مقاله هم در تیبل مقالات ثبت میشه.
حالا من مجموع امتیازات مقالات رو دارم.
اما نمیدونم چطور نمایش بدم.
یعنی دقیقا ما چطور باید مجموع امتیازات رو بین 5 ستاره تقسیم کنیم و روی 5 ستاره نشون بدیم.؟؟؟


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

شما باید یه سطح ماکزیمم داشته باشی دیگه
پس باید بیشترین تعداد ستاره در سیستمت رو ۵ ستاره در نظر بگیری
که با یه کوئری میتونی مقدارش رو در بیاری:

$total = Stars::orderBy('stars_count', 'desc')->first();

در ضمن از متد max الکوئنت هم میشه استفاده کرد.

ما باقیش هم عملیات ریاضی هست دیگه:

x=(100*star)/total

x میشه درصد ریتینگ برای هر مقاله.
مثلا اگر بیشترین تعداد استار در سیستمت ۵۰ تا باشه.
و یک پستت ۱۵ تا استار داشته باشه
میشه

x=(15*100)/50
x=30
x= درصد ریتینگ این مقاله

هر استار هم ۲۰ درصد هست دیگه . پس میشه ۱/۵ ستاره.
حالا باید یه الگوریتم بنویسی که فاصله بین هر ستاره تا دیگری رو هم حساب کنه (آیکون های ستاره های نصفه هم که هست میتونی استفاده کنی)


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام