Bonjour,
J'ai une liste déroulante dans laquelle j'ai de multiples disciplines. Pour chaque discipline j'ai une liste de grades.
J'aimerais qu'en fonction de la discipline sélectionnée, tous les grades concernant s'affiche.
Voici mes 3 fichiers
GestionGrade.php:
gestionGradeModif.php:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <?php include "header.php"; ?> <div id="menuHaut"> <div id='MH1'> <a href='formGrade.php'>Ajout de grade</a> </div></div> <?php include 'menuGauche.php'; echo "<h1>Liste des grades</h1>"; ?> <form action="gestionGradeModif.php" method="POST" name="gestGrade"> <input type="hidden" name="disOuGrade" value="grade"> <p style="position:relative;left:400px;"> Choix de la discipline : <select name="disciplineNom2" onChange="changeGrade();"> <option value=""></option> <?php $reqDis1="SELECT * FROM disciplines"; $dis1=mysql_query($reqDis1) or die( mysql_error() ); while($datadis = mysql_fetch_array($dis1)) { echo"<option name='$datadis[discipline]' value='$datadis[discipline]'>$datadis[discipline]</option>"; } ?> </select> </p> <div id="tableGrade"> </div> <input type="submit" value="Supprimer" style="position:absolute;left:350px; top:390px;"></input> </form> <?php echo'<div id="divPaginationDiscipline">'; for($i=1;$i<=$nombreDePages;$i++) { if($i!=$pageActuelle) { echo "<a href='gestionGrade.php?idD= ".$id_disci." && page=".$i."'>".$i."</a> "; } else { echo $i." "; } } echo"</div>"; ?> <?php include ("footer.php"); ?>
et ajaxGrade.js:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 <?php echo '<div name="tableGrade" >'; $idDiscipline = $_POST['idDiscipline']; echo " <table border='1' id='tableModifGrade'> <tr> <th>Grade</th> <th>Supprimer</th> </tr> "; <?php if(isset( $idDiscipline )){ $db="samourai_gestion"; $sql = mysql_connect("localhost","****","*******") or die ('Erreur : '.mysql_error()); mysql_select_db($db); $gradeParPages = 7; $select = "SELECT count(*) FROM grades WHERE idDiscipline='".$id_disci."'"; $result = mysql_query($select) or die (mysql_error() ); $row = mysql_fetch_array($result); $total = $row[0]; //Nous allons maintenant compter le nombre de pages. $nombreDePages=ceil($total/$gradeParPages); if(isset($_GET['page'])) // Si la variable $_GET['page'] existe... { $pageActuelle = intval($_GET['page']); if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages... { $pageActuelle=$nombreDePages; } } else // Sinon { $pageActuelle=1; /* La page actuelle est la n°1*/ } $premiereEntree =($pageActuelle-1)* $gradeParPages; $requete = "SELECT * FROM grades WHERE idDiscipline ='".$id_disci."' ORDER BY nom_grade ASC LIMIT ".$premiereEntree.",".$gradeParPages.""; $resultat = mysql_query($requete); while ($data = mysql_fetch_assoc($resultat)) { echo '<tr><td>'.$data['nom_grade'].'</td>'; echo '<td><input type="checkbox" id="Del_Grade"></td></tr> '; } echo " </table><br /><br /> </div> "; ?>
Voilà, je vous remercie d'avance pour les lumières avec, j'espère, pouvoir éclairer ma lanterne =D
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
39
40
41
42 function getXhr() { if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; } function changeGrade() { var xhr = getXhr(); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) // ne fonctionne plus à partir d'ici { alert('hello !'); var leselect = xhr.responseText; document.getElementById('tableGrade').innerHTML = leselect; } } xhr.open("POST","gestionGradeModif.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); sel = document.gestGrade.getElementById('disciplineNom2'); iddisciplineModif = sel.options[sel.selectedIndex].value; xhr.send("idDiscipline="+iddisciplineModif); }
Partager