IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

systeme vote etoile ajax


Sujet :

jQuery

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut systeme vote etoile ajax
    bonjour, apres plusieurs recherche j'ai trouver ceci qui me correspond tres bien.
    http://www.r-leconte.net/index.php?o...query&Itemid=5

    chez moi les etoiles apaprait au survol nikel j'ai la couleur qui change mais quand je clic dessus rien du tout.

    alors que normalement le message devra apparaitre.

    Voila moi j'ai changer un peu leur code et recuperer le nombre de vote de ma base.

    voici ce que j'ai mit dans mon header:

    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
    35
     
    <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>

    la page:
    Code php : 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
     
    <?php
    ..
    $vote=$ListeActiviteAmis->getVotesActivite();
    for ($i=1;$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>';
     }
     
     }
     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=1;$i<=10;$i+=2){
    $body.='<div id="star_'.$i.'" class="star"></div>';
    $body.='<div id="star_'.($i+1).'" class="star"></div>';
     }
    }..
    ?>


    merci.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Points : 183
    Points
    183
    Par défaut
    tu peux montrer vote_traitement.php ?

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    bonjour, j'ai reglerer ce pb petit question tout de meme quand j'ai zero vote, j'ai deux ligne d'etoiles qui apparait au lieu d'une.

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    alord regardant bien dans le code php:
    cette ligne: if ($i<$vote_user[0]['vote'])
    je l'ai remplacer par ($i<$vote) car $vote_user etait inconnu dans le code et il est introuvable dans la page.

    je pense que c'est ca?
    MERCI.

Discussions similaires

  1. [JavaScript] [SRC] Vote Evaluation etoiles
    Par SpaceFrog dans le forum Contribuez
    Réponses: 16
    Dernier message: 06/10/2014, 17h04
  2. [AJAX] Vote en Ajax
    Par isitien dans le forum AJAX
    Réponses: 2
    Dernier message: 15/09/2009, 08h48
  3. [Prototype] Envoi de requête et réaffichage du DIV( System de vote)
    Par fabien14 dans le forum Bibliothèques & Frameworks
    Réponses: 14
    Dernier message: 03/05/2008, 19h10
  4. [AJAX] système de vote ajax
    Par sisco97 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/05/2007, 03h52
  5. Systeme de vote pour photos, comment faire ?
    Par Stu'z dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 21/09/2005, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo