2010-08-30 6 views
1

Je travaille sur un système de vote en AJAX et PHP et j'ai eu quelques problèmes. Nous affichons un tas de messages de notre base de données et chaque poste a une image à côté de lui - en cliquant sur l'image est censée 1) basculer la couleur de l'image, puis 2) utiliser AJAX appeler un script PHP qui décide alors d'ajouter ou soustraire un vote. J'ai l'image toggle fonctionnant, mais je ne suis pas sûr de savoir comment faire la partie suivante. Quelle est la meilleure façon de faire cela?Système de vote AJAX + PHP

Ceci est le temps de boucle qui délivre les messages:

while($row = mysql_fetch_array($result)) 

      { 

    ?> 

     <li class = "post"> 
      <a href = "#" onclick = "return toggle(this,'heart<?php echo $row['post_id'];?>')"><img name = "heart<?php echo $row['post_id'];?>" src = "/images/heart.png" class = "thumbnail" width = "15" /></a> 
      <p class = "title"><img class = "favicon" width = "16" height = "16" src = "<? echo $row['favicon']; ?>" /><a href = "<? echo $row['post_url']; ?>" target = "_blank"><? echo $row['post_title']; ?></a></p> 
      <p class = "postinfo">posted <? echo doRelativeDate($row['date']); ?> by <a href = "<? echo $row['blog_url'];?>"><? echo $row['blog_name']; ?></a> 
     </li> 

    <? 
     } 
    ?> 
+0

Merci pour votre réponse. Je suppose que j'aurais dû être plus clair: j'ai besoin d'aide pour écrire l'AJAX qui me permettra de voter sur un post. – Shola

Répondre

0

"src = "/images/heart.png" class = "thumbnail" width = "15" id="voteImage />

ajouter un ID à votre image. attraper cliquez événement sur cet identifiant par un framework javascript.

Je donne en exemple jQuery.

jQuery("#voteImage").live("click",function(){ 
     var imageName = jQuery(this).attr('name'); 
     var postId = imageName.substr(5); //Here you will have post Id because remove heart from heart20 

     //now you can hit ajax call to your vote-up or vote-Down php with postId 
     jQuery.ajax({ 
      type: 'POST', 
      url: baseURI+'voteup.php', 
      data:"postId="+postId, 
      cache: false, 
      success: function(result) 
        { 
        //perform further action like give alert to user that action performed 
        } 
     }); 

} 
Questions connexes