$ajax get, récupérer id/class d'une image dans une boucle while

KAJEMBA Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voilà le cas :
1. Je génère une liste d'images (photos contacts) en PHP à partir de ma BD MySQL.
2. Je peux cliquer dessus afin d'obtenir le profil complet, j'utilise Jquery avec $ajax.
3. Tout marche très bien sauf que c'est toujours l'id de ma première image qui est passé en paramètre... ;(

1. PHP - Liste d'images

<?php while($row = mysql_fetch_array($res)){ ?>
<a href="#" id="<?php echo $row['id_inscription'];?>" class="ProfilMini">
<img src="<?php echo $row['miniature_path_moyen'];?>" title="" alt="" />
</a>
<?php } ?>

2. Jquery - $ajax


<script type="text/javascript">
$(document).ready(function(){
function afficherProfile(){
var annonce = $('.ProfilMini').attr('id');
$.ajax({
url: "rechercher-simple-afficher-profile1.php",
type: "GET",
data: 'annonce_id='+annonce,
dataType: "html",
contentType : "application/x-www-form-urlencoded; charset=ISO-8859-1",
complete: function(data){
$("#afficherProfile").show();
$("#afficherProfile").empty();
$("#afficherProfile").append(data.responseText);
}
});
}

$('.ProfilMini').click( function(event){ afficherProfile(); });
});
</script>

Quelqu'un pourrait-il m'aider ?? Je planche dessus depuis 1 mois et toujours rien ...

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Ton erreur vient de cette ligne dans ta fonction afficherProfile() :
var annonce = $('.ProfilMini').attr('id'); 


Cette instruction récupère tous les éléments html avec la class ProfilMini et te retourne l'attribut id du premier élément de la liste (donc toujours le même).

Remplace cette ligne par celle-ci :
var annonce = $(this).attr('id'); 

Cette fois on récupère l'attribut id de l'élément sur lequel on a cliqué (le bon lien donc).

Bonne journée
1