Affiché le nombre d'étoiles selon la note

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Affiché le nombre d'étoiles selon la note

Re: Affiché le nombre d'étoiles selon la note

par or 1 » 09 sept. 2019, 21:48

Affiché le nombre d'étoiles selon la note

par yoann38 » 09 sept. 2019, 21:34

Salut tout le monde.
Voilà j'ai une petite requete SQL permettant de calculer la moyenne selon une colonne et un etablissement
Maintenant je cherche à afficher du coup sous forme d'étoiles ( enfin moi c'est des smiley mais on s'en ... )
Je pensé faire un système du genre si la valeur est inférieur alors echo 1 étoile elseif si valeur = 2 alors 2 etoiles mais je trouve ca lourd.
Que me recommander vous ?
<?php
										$count_ambiance = "SELECT COUNT(*) AS nb_vote_ambiance,CEIL(AVG(vote_ambiance)) AS moyenne_ambiance FROM `avis` WHERE `id_etablissement`= $bar_id";
									    $stmt = $bdd->prepare($count_ambiance);
									    $stmt->bindParam(':id_etablissement', $bar_id);
									    $stmt->execute();
									    $avis_ambiance = $stmt->fetch(PDO::FETCH_ASSOC);
									    $resulat_ambiance = $avis_ambiance['moyenne_ambiance']; // Résultat de la moyenne ex : 4

									    if($resulat_ambiance = 4) {
									    echo '
										<div class="rating">
									    <i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile"></i>
									    </div>';
									    }elseif($resulat_ambiance = 5) {
									    echo '
										<div class="rating">
									    <i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i>
									    </div>';
									    }

										?>
Edit:
Je viens de tester avec swich et je trouve ca lourd... surtour que j'ai 2 notes comme ça :
switch ($resulat_ambiance) {
									    case 0:
									        $message_vote_ambiance = NULL;
									        break;
									    case 1:
									        $message_vote_ambiance = '<i class="icon-smile voted"></i><i class="icon-smile"></i><i class="icon-smile"></i><i class="icon-smile"></i><i class="icon-smile"></i>';
									        break;
									    case 2:
									       $message_vote_ambiance = '<i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile"></i><i class="icon-smile"></i><i class="icon-smile"></i>';
									        break;
									    case 3:
									       $message_vote_ambiance = '<i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile"></i><i class="icon-smile"></i>';
									        break;
									    case 4:
									       $message_vote_ambiance = '<i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile"></i>';
									        break;
									    case 5:
									       $message_vote_ambiance = '<i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i><i class="icon-smile voted"></i>';
									        break;
									}