Intereting Posts
Приложение сообщений для клиентского сервера Проблема с расширением шифра OpenSSL Условно установленная форма отправить действие ftp_get (): Не удается открыть файл1: нет такого файла или каталога в Как удалить конечные нули в PHP Передавать информацию тегов на php и отображать на другой странице (а также обновлять на другой странице)? Готовые заявления кэшируются на стороне сервера на нескольких загрузках страниц с помощью PHP? Пропустить URL-адрес в качестве параметра для XSL CURL ERROR: отказ Recv: сброс соединения с помощью сверстника – PHP Curl Ключ разработчика, необходимый для этой операции проблема несериализации Попытка получить удаленный сервер базы данных, работающий с mysqli локально Мой сайт php был взломан кодами, загруженными как изображение ..? Радио-кнопка показывает курсор между двумя переключателями, используя jquery настройка laravel на IIS7

Display Star в Front End по рейтингу

Я создал поле в бэкэнд, где с помощью переключателя выбираю рейтинг продукта как 1 звезда, 2 звезды, 3 звезды, 4 звезды и 5 звезд

В переднем конце при отображении

<p class="tool-tip"><a href="#" onMouseover="ddrivetip('Expert Rating')"; onMouseout="hideddrivetip()">Expert Rating</a> - <?php echo $this->prodDet->v_child_safety?></p> 

Он отображает рейтинг в цифровой форме как – 1 звезда, 2 звезды, 3 звезды, 4 звезды и 5 звезд

Может ли какой-либо один путеводитель по наилучшему способу иметь передний конец, отображающий звезду как рейтинг вместо числового значения, не делая медленную загрузку страницы

Это не дубликат. Я просто хочу, чтобы пользователи просматривали рейтинг звездного типа в передней части. Они не могут изменять рейтинг или добавлять рейтинг, а именно то, что администратор присваивает рейтинг от 1 звезды до 5 звезд и его видимость в передней части. Теперь вместо числовое значение как 2 звезды или 3 звезды, я хочу, чтобы звезды отображались в

благодаря

Во-первых, убедитесь, что $this->prodDet->v_child_safety возвращает только число. Поэтому вместо 1 звезды, 2 звезды, он должен просто вернуть 1, 2, 3 и т. Д. Затем замените свой код следующим:

 <?php $stars = (int)$this->prodDet->v_child_safety; $count = 1; $result = ""; for($i = 1; $i <= 5; $i++){ if($stars >= $count){ $result .= "<span>&#x2605</span>"; } else { $result .= "<span>&#x2606</span>"; } $count++; } ?> <p class="tool-tip"><a href="#" onMouseover="ddrivetip('Expert Rating')"; onMouseout="hideddrivetip()">Expert Rating</a> - <?php echo $result?></p> 

Если вы хотите использовать образы звезды вместо этого, используйте этот код:

 <?php $stars = (int)$this->prodDet->v_child_safety; $result = ""; for($i = 1; $i <= $stars; $i++){ $result .= "<img src='link_to_image_here.png'/>"; } ?> <p class="tool-tip"><a href="#" onMouseover="ddrivetip('Expert Rating')"; onMouseout="hideddrivetip()">Expert Rating</a> - <?php echo $result?></p> 

Это решение использует скрытые переключатели. Метка отображается в виде звезды благодаря fontAwesome. Значение звезды может быть отправлено на ваш PHP-скрипт или вы можете установить правильную звезду на основе любого значения, которое у вас есть.

 input[type="radio"] { display: none; } label { display: inline-block; } input[type="radio"]:checked+label { cursor: default; color: red; } 
 <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" /> <form> <input id="star1" name="star" type="radio"> <label for="star1"><i class="fa fa-star"></i></label> <input id="star2" name="star" type="radio"> <label for="star2"><i class="fa fa-star"></i></label> <input id="star3" name="star" type="radio" checked> <label for="star3"><i class="fa fa-star"></i></label> <!-- Use <?php echo("checked") ?> to set the correct star --> <input id="star4" name="star" type="radio"> <label for="star4"><i class="fa fa-star"></i></label> <input id="star5" name="star" type="radio"> <label for="star5"><i class="fa fa-star"></i></label> </form> 

Для каждого входа используйте условие ниже:

<?php if($this->prodDet->v_child_safety=="1 star"){?>checked="checked"<?php } ?>

и использовать disabled чтобы отключить все входные данные, чтобы никто не мог изменить значение, если вы просто хотите отображать рейтинг.

 div.stars { width: 270px; display: inline-block; } input.star { display: none; } label.star { float: right; padding: 10px; font-size: 36px; color: #444; transition: all .2s; } input.star:checked ~ label.star:before { content: '\2605'; color: #FD4; transition: all .25s; } input.star-5:checked ~ label.star:before { color: #FE7; text-shadow: 0 0 20px #952; } input.star-1:checked ~ label.star:before { color: #F62; } label.star:hover { transform: rotate(-15deg) scale(1.3); } label.star:before { content: '\2605'; } 
 <p class="tool-tip"><a href="#">Expert Rating</a> </p> <div class="stars"> <input disabled class="star star-5" id="star-5" type="radio" name="star"/> <label class="star star-5" for="star-5"></label> <input disabled class="star star-4" id="star-4" type="radio" name="star" /> <label class="star star-4" for="star-4"></label> <input disabled class="star star-3" id="star-3" type="radio" name="star"/> <label class="star star-3" for="star-3"></label> <input disabled class="star star-2" id="star-2" type="radio" name="star"/> <label class="star star-2" for="star-2"></label> <input disabled class="star star-1" id="star-1" type="radio" name="star" checked="checked"/> <label class="star star-1" for="star-1"></label> </div>