La methode GET dans une fenetre modale

Fermé
hubert lutunga - Modifié par hubert lutunga le 12/02/2016 à 17:06
jordane45 Messages postés 38270 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 novembre 2024 - 22 févr. 2016 à 20:40
Bonsoir tout le monde 


Je travaille actuellement sur un projet pour mes études (un site marchand) et je me heurte à un petit problème. J'ai beau chercher je ne trouve aucune réponse correspondant à ce que je souhaite régler. Alors c'est parti : 


J'ai une page search.php qui liste des produits après avoir effectuer une recherche; en cliquant sur le nom d'un produit, on doit pouvoir accéder à une fiche détaillée du produit en question dans une fenêtre modale.


Pour cela, je passe l'id du produit dans l'URL et je le récupère avec un $_GET['id'] Jusqu'ici tout va bien, tout s'affiche correctement 


Le problème, c'est que j'aimerais que cet affichage du détail se fasse dans une fenêtre modale. En cherchant sur le net j'ai donc trouvé un moyen de mettre cela en place en utilisant seulement jquery et css


Seulement voilà... cette fenêtre modale utilise une ancre pour s'afficher : 


<a href="#">
Je fais 


<a href="#&id='.$id.'">
L'URL change bien et prend l'id correspondant au produit et la fenetre modale s'ouvre correctement mais il ne affiche pas le details dans la modale

Je me demande tout simplement si il est possible d'obtenir le résultat souhaité tout en gardant l'idée d'une popup entièrement en CSS ou si je dois abandonner et réfléchir à une autre solution?

(Désolée si la question vous semble idiote, je ne suis pas encore un pro du PHP, pas mal de choses m'échappent )

Merci de votre aide, j'espère que mes explications sont assez claires
A voir également:

2 réponses

jordane45 Messages postés 38270 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 novembre 2024 4 695
14 févr. 2016 à 20:37
Bonjour,


Tu pourrais éventuellement utiliser les DATA Attributes pour y mettre l' ID
Ensuite, lorsque tu cliques sur ton lien ... tu récupères l' ID correspondant.

 echo "<a href='#' data-id='$id' class='modale'>ouvrir modale</a>";


et dans le code qui permet d'ouvrir la modale à partir du lien cliqué :

 $("a.modale").click(function(){

  var id = $(this).data('id');
 //le reste du code...


}


2
hubert lutunga
20 févr. 2016 à 15:02
Merci Jordane et desolé pour le retard, oft je metrise pas bien le jQuery tu m'as donnE une belle piste mais je sais pas comment continuer pour l'afficher dans la modale! Vous pouvez continuer le reste du code SVP! :)

$("a.modale").click(function(){

var id = $(this).data('id');
//le reste du code...


}

C'est quoi le reste du code svp! Je n'arrive pas a l'afficher dans la modale
0
jordane45 Messages postés 38270 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 novembre 2024 4 695
20 févr. 2016 à 17:22
Ben... tout dépend de ce que tu as mis dans ta modale....
0
hubert lutunga > jordane45 Messages postés 38270 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 novembre 2024
21 févr. 2016 à 07:53
Bonjour jordane, Les codes c'est ca !

$(document) .ready(function(e){
$('.ouvrir_modale') .click(function(e){
$('.arr_plan, .f_modale') .css('display', 'block');
$('.arr_plan') .animate({'opacity' : '.5'},350);
$('.f_modale') .animate({'opacity' : '1'},350);
});

$('.fermer_modale, .arr_plan') .click(function(e){
$('.fermer_modale, .fermer_modale') .animate({'opacity' : '0'}, 350,
Function(){
$('.fermer_modale, .f_modale') .css('display', 'none');
}
);
});

});


Oft ou pourrais-je l'inserer pour permetre de recuperer le $_get['id'] dans la modale ? Merci d'avance !
0
jordane45 Messages postés 38270 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 novembre 2024 4 695 > hubert lutunga
21 févr. 2016 à 16:05
Pour l'instant... je ne sais toujours pas quels éléments HTML contiennent ta fenêtre modale.

Sachant que si on se base sur le code jquery que tu nous montres... ce que je t'ai donné comme code se place dans la fonction d'ouverture de ta modale
comme ceci :

$('.ouvrir_modale') .click(function(e){
$('.arr_plan, .f_modale') .css('display', 'block');
$('.arr_plan') .animate({'opacity' : '.5'},350);
$('.f_modale') .animate({'opacity' : '1'},350);


//récupération de la valeur 
  var id = $(this).data('id');

});

0
Hubert lutunga > jordane45 Messages postés 38270 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 novembre 2024
Modifié par jordane45 le 22/02/2016 à 13:17
Salut Jordane et merci de votre aide, Jusqu'ici tout va bien, mais le problème reste tout simplement l'echo $_get['id'] au niveau de la fenetre modale. voici html de ma fenetre modale
<a href='#'&id='.$row['id'].' Class='ouvrir_fenetre'>'.$row['pseudo'].'</a>

<Div class='arr_plan'></div>
  <Div class='f_modale'>
    <span class='fermer'>X</span>

    <h3>Fenetre modale</h3>

  <?php echo $_GET['id'];?>
 
</div>  


Si je fais echo $_get ici ca me renvois l'erreur... Alors avec ta piste je crois ca marchera bien, mais comment faire pour recuperer l'ID dans la fenetre ?

Merci pour ton aide Jordane !

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
0
jordane45 Messages postés 38270 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 novembre 2024 4 695
22 févr. 2016 à 20:40


J'ai déjà mis chacun dans sa div ca a bien foctionnE sauf que ca n'affiche que le 1er mot de la phrase.

As tu des exemples ?
Si tu souhaites coller des "romans" avec , peut-être, des apostrophes... penses à utiliser du htmlspecialchar

Si tu n'y arrives pas... postes nous ton code.
Le Php ainsi que le html de ta fenetre modale et pour finir le Javascript du remplissage.

0