Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Звездочки в рейтинге
 
 автор: technic611   (09.05.2006 в 17:22)   письмо автору
 
 

Как генерировать вывод звездочек в рейтинге. 1 балл -одна звездочка и т.д

   
 
 автор: DDK   (09.05.2006 в 17:34)   письмо автору
 
   для: technic611   (09.05.2006 в 17:22)
 


// Переменная $ratingvalue должна содержать число-балл (от нуля до пяти)
$ratingvalue = (int) $ratingvalue;
if($ratingvalue >= 5) {
    $image = 5;
} elseif($ratingvalue >= 4) {
    $image = 4;
} elseif($ratingvalue >= 3) {
    $image = 3;
} elseif($ratingvalue >= 2) {
    $image = 2;
} elseif($ratingvalue >= 1) {
    $image = 1;
} elseif($ratingvalue >= 0) {
    $image = 0;
}
echo "<img src='images/ratingstars/star".$image.".gif' border='0'>";


Это для пятибальной системы.

   
 
 автор: [InLine]Scorpion   (10.05.2006 в 06:29)   письмо автору
 
   для: DDK   (09.05.2006 в 17:34)
 

Зачем такую сложную проверку делать? А если звёзд 10, или 20, или 100?
Я бы код вот так переписал:


$ratingvalue = сколько_баллов; 

for ($i=0; $i<$ratingvalue; $i++){
       echo "<img src='images/ratingstars/star/image.gif' border='0'>"; 
}



Плюсы данного кода: не нужно менять код при увеличении баллов оценки. Одна картинка кэшируется. И потом они уже не по новой грузятся, а из кэша. Соответственно меньше трафика.

Минус: возможно разбиение на строки, если проблемы с полезным пространством на странице имеются.

Минус устраним посредствам вариаций на тему формирования картинки на лету. Тогда картинка каждый раз будет разная, меняться будет её размер и количество клонов звёзд. Но так или иначе, не стоит делать рэйт посредствам статичного определения вариантов.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования