La methode GET dans une fenetre modale
hubert lutunga
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
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
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
2 réponses
-
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... }
-
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 -
-
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 ! -
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'); }); -
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.
-
-
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.