Bonjour,
j'ai trouver un système d'étoiles qui marche très bien petit erreur tout de même quand il y' a 0 vote, j'ai deux rangée d'etoiles qui apparaisent, voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<script type="text/javascript">
	$(document).ready(function(){
		 $(".star, .star_hover").hover(function () { // Au survole d'une étoile
			 var id = $(this).attr("id"); // On récupere son id, exemple : star_5
			 var num = id.split('star_'); // On récupère le numéro de l'id, exemple : 5
			 for (var i=1;i<=num[1];i++){ // on modifie le css pour chaque étoile situé avant celle survolé par  la souris
				 var hover = '#star_'+i; // On crée le nom de l'id dont on va modifier le css, exemple : star_1
				 $(hover).css("background-position","0 -16px");
			 }
		 }, function() { // fonction utilisé lorsque la souris se retire de l'étoile survolé (fait la même chose mais remet le background)
			 var id = $(this).attr("id");
			 var num = id.split('star_');
			 for (var i=1;i<=num[1];i++){
				 $('#star_'+i+'[class=star]').css("background-position","0 0");
				 $('#star_'+i+'[class=star_hover]').css("background-position","0 -32px");
			 }
		 });
		$(".star, .star_hover").live('click', function(){
		  var id = $(this).attr("id");
		  var vote = id.split('star_');
		  $.ajax({
			type: "POST",
			url: "vote_traitement.php",
			data: 'vote='+vote[1],
			beforeSend: function(){},
			complete: function(){},
			success: function(){
				alert('Vous avez voté : '+vote[1]);
			}
		  });
		  return false;
		});
	});
	</script>
l'appel sur la page:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
 
$vote=$ListeActiviteAmis->getVotesActivite();
for ($i=0;$i<=$vote;$i+=2){
 // de 1 à $vote étoiles (+1 si impaire)
$body.='<div id="star_'.$i.'" class="star_hover"></div>';
 if ($i<$vote){
$body.='<div id="star_'.($i+1).'" class="star_hover"></div>';
 }else{
$body.='<div id="star_'.($i+1).'" class="star"></div>';
 }
 
 }
 
merci. encore  :p 
 for ($i;$i<=10;$i+=2){ // de ($vote (+1 si impaire)) $i à 10
$body.='<div id="star_'.$i.'" class="star"></div>';
$body.='<div id="star_'.($i+1).'" class="star"></div>';
 }
 $vote_isset_user = 1;
$body.='<br /><div style="float:left;margin-left:15px;">(Notes : '.$vote.'/10)</div>';
 
if (!$vote){ // Si $vote = false, alors aucune note n'ai prise en compte à l'affichage
 for ($i=0;$i<=10;$i+=2){
$body.='<div id="star_'.$i.'" class="star"></div>';
$body.='<div id="star_'.($i+1).'" class="star"></div>';
 }
}
VOICI LA source :
http://www.r-leconte.net/index.php?o...query&Itemid=5