Bonjour à tous,
Après de nombreuses heures de recherche, je me suis décidé à vous demander de l'aide car je suis réellement bloqué.
Pour commencer, j'ai réalisé un formulaire inclus dans un modal bootstrap. Ce formulaire comprend 3 boutons radio. ( public , privée, guilde) Lors du clic sur le bouton public(ou privée) une liste déroulante de tous les amis s'affichent (correctement).
Cependant, lors du clic sur le bouton radio guilde, il affiche 2 listes déroulantes. La première affiche toutes les guildes parmi lequel l'utilisateur est membre(fonctionne), et la deuxieme affiche tous les membres de la guilde.(fonctionne pas)
Pour la deuxieme liste, j'ai besoin de recuperer l'id de la guilde selectionné dans la premiere liste, afin de l'utiliser dans ma requete SQL.
Etant donnée que tout se passe sur une même page,sans appel serveur, j'ai compris que je ne pourrai pas gérer cela uniquement en PHP.
Je suis à l'écoute de chaque conseil, dans la mesure où ils sont constructifs.
Voici mon code
Page modal-creer-evenement.php, le problème se trouve au niveau du commentaire : <!-- Selectionner le membre de guilde puis valider pour ajouter dans la liste -->
Code html : 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 <div class="modal fade " id="creerEvenementModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true"> <div class="modal-dialog"> <form action="index.php" method="POST" id="form_connexion"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 class="modal-title" id="myModalLabel">Créer un évènement</h3> </div> <div class="modal-body"> <div class="row"> <!-- Selectionner le Jeu--> <div class="input-group input-group-sm col-lg-6 col-md-offset-1"> <span class="input-group-addon" >Jeux :</span> <select class="form-control" name="event_jeu"> <?php $liste_jeux = listejeux(); for ( $a = 0 ; $a < count($liste_jeux) ; $a++ ) { echo "<option value=\"".$liste_jeux[$a][0]."\">".$liste_jeux[$a][1]."</option>"; } ?> </select> </div> </br> <!-- Definir le nom du joueur--> <div class="input-group input-group-sm col-lg-6 col-md-offset-1"> <span class="input-group-addon" id="sizing-addon2">Nom :</span> <input type="text" class="form-control" id="event_nom_joueur" aria-describedby="sizing-addon2"> </div> </br> <!-- Definir le critere de visibilité de l evenement--> <div class="input-group input-group-sm col-lg-6 col-md-offset-1"> <span class="input-group-addon" id="sizing-addon3">Visibilité :</span> <div class="form-control"> Public <input type="radio" class="publicselected" checked="checked" name="event_visibilite" value="public" aria-describedby="sizing-addon3"> Privée <input type="radio" class="priveeselected" name="event_visibilite" value="privee" aria-describedby="sizing-addon3"> Guilde <input type="radio" class="guildeselected" name="event_visibilite" value="guilde" aria-describedby="sizing-addon3"> </div> </div> </br> <!-- Selectionner la Guilde--> <div class ="nomguilde"> <div class="input-group input-group-sm col-lg-6 col-md-offset-1 " > <span class="input-group-addon" >Nom de la guilde :</span> <select class="form-control" name="event_guilde" id="event_guilde"> <?php $liste_guilde = listeguilde($id_info); for ( $a = 0 ; $a < count($liste_guilde) ; $a++ ) { echo "<option value=\"".$liste_guilde[$a][0]."\">".$liste_guilde[$a][1]."</option>"; } ?> </select> </div> </div> </br> <!-- Selectionner l ami puis valider pour ajouter dans la liste --> <div class="div-ami"> <div class="input-group input-group-sm col-lg-6 col-md-offset-1"> <span class="input-group-addon">Ami :</span> <select class="form-control" nom="event_ami"> <?php $liste_ami = listami($id_info); for ( $a = 0 ; $a < count($liste_ami) ; $a++ ) { echo "<option value=\"".$liste_ami[$a][0]."\">".$liste_ami[$a][1]."</option>"; } ?> </select> <span class="input-group-addon" id="sizing-addon4"><button type="button" class="btn btn-primary btn-xs">Inviter</button></span> </div> </div> <!-- Selectionner le membre de guilde puis valider pour ajouter dans la liste --> <div class="nomguilde"> <div class="input-group input-group-sm col-lg-6 col-md-offset-1"> <span class="input-group-addon">Membres : </span> <select class="form-control" nom="event_ami"> <?php $id_guilde = isset($_POST['idguilde'])? $_POST['idguilde'] : ''; $liste_membre = listmembreguilde($id_info,$id_guilde); for ( $a = 0 ; $a < count($liste_membre) ; $a++ ) { echo "<option value=\"".$liste_membre[$a][0]."\">".$liste_membre[$a][1]."</option>"; } ?> </select> <span class="input-group-addon" id="sizing-addon4"><button type="button" class="btn btn-primary btn-xs">Inviter</button></span> </div> </div> <br> <!-- Ajoute le joueur inviter dans la liste--> <div class="panel panel-default input-group input-group-sm col-lg-6 col-md-offset-1"> <div class="panel-body panelListScrollable" > Jean Val Jean   <a href="#"><input type="button" value="Supprimer" onClick=""></a> </div> </div> <!-- Permet d ecrire la description de l evenement --> <div class="input-group form-group col-lg-6 col-md-offset-1"> <span class="input-group-addon" id="sizing-addon5">Description :</span> <textarea name="description" id="description" class="form-control" rows="6" ></textarea> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button> <input type="submit" value="Enregistrer" class="btn btn-primary" /> </div> </div> </form> </div> </div>
Page Fonction.php
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 function listejeux(){ $liste_jeux = array (); $query = "SELECT * FROM JEUX;"; $result = mysql_query($query); $compteur = 0; while($row = mysql_fetch_array($result)){ $liste_jeux[$compteur] = array ($row['JEU_id'],$row['JEU_nom']); $compteur++; } return $liste_jeux; } function listeguilde($id){ $liste_guilde = array (); $query = "SELECT * FROM GUILDE G, APPARTENIR_G A WHERE G.GUI_id = A.GUI_id AND A.COM_id=".$id.";"; $result = mysql_query($query); $compteur = 0; while($row = mysql_fetch_array($result)){ $liste_guilde[$compteur] = array ($row['GUI_id'],$row['GUI_nom']); $compteur++; } return $liste_guilde; } function listmembreguilde($id,$idguilde){ $liste_membre_guilde = array(); $query="SELECT COM_id, COM_nom FROM APPARTENIR_G, GUILDE, COMPTE WHERE APPARTENIR_G.COM_id = COMPTE.COM_id AND GUILDE.GUI_id = APPARTENIR_G.GUI_id AND GUILDE.GUI_id =".$idguilde." AND COMPTE.COM_id !=".$id.";"; $result = mysql_query($query); $compteur = 0; while($row = mysql_fetch_array($result)){ $liste_membre_guilde[$compteur] = array ($row['COM_id'],$row['COM_nom']); $compteur++; } return $liste_membre_guilde; } function listami($id){ $liste_ami = array (); $query = "SELECT COM_id,COM_nom FROM COMPTE WHERE COM_id IN ( SELECT AMI_id FROM AMI WHERE COM_id = ".$id.")"; $result = mysql_query($query); $compteur = 0; while($row = mysql_fetch_array($result)){ $liste_ami[$compteur] = array ($row['COM_id'],$row['COM_nom']); $compteur++; } return $liste_ami; }
Page Script JS
Je vous remercie d'avance pour votre aide,
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
36
37
38 /* Action on radio change Show Nom guilde Input */ $(document).ready(function () { $(".publicselected").change(function () { $(".nomguilde").hide(); $(".div-ami").show(); }); $(".priveeselected").change(function () { $(".nomguilde").hide(); $(".div-ami").show(); }); $(".guildeselected").change(function () { $(".nomguilde").show(); $(".div-ami").hide(); }); }); $(function () { $(".guildeselected").click(function () { alert($("#event_guilde").val()); $.ajax({ url: "modal-creer-evenement.php", type: "POST", data: 'idguilde=' + $("#event_guilde").val(), success: function (msg) { alert('reussi'); }, errors: function(e){ console.log(e); } }); }); });
J'ai essayé d'être le plus précis possible mais n'hésitez pas à me demander pour de plus amples informations.
Partager