Bonjour,
J'ai ce petit bout de code:
La page principale
Ma fonction javascript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 .../... <td class='locaux'> <select class='formelement' name='equipe1' id='equipe1' onchange='equ()'> <option value=''></option> <?php $query = "SELECT categorie, equipe FROM classement WHERE categorie='$cat' ORDER BY equipe"; $result = mysql_query($query) or die('Erreur SQL !'.$sql.''.mysql_error()); while($row = mysql_fetch_array($result)){ echo"<option value='".$row['equipe']."'>".$row['equipe']."</option>\n"; } ?> </select> </td> .../...
et mon programme qui affiche ma nouvelle liste:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function equ(){ var xhr = getXhr(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; document.getElementById('liste1').innerHTML = leselect; } } xhr.open("POST","../gymnase.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); sel = document.getElementById('equipe1'); choix = sel.options[sel.selectedIndex].value; xhr.send("equipe1="+choix); }
Tout ceci fonctionne très bien si je n'ai qu'une ligne à remplir dans le formulaire. Seulement, le nombre de lignes à remplir est variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php header('Content-Type: text/html; charset=ISO-8859-15');echo "<select name='gymnase' id='gymnase'>"; echo "<option value=''></option>"; require_once('./config/config.inc.php'); $query = "SELECT t1.id, t1.club, t2.id_club, t2.salle FROM clubs AS t1, salles AS t2 WHERE t1.club = '".utf8_decode($_POST['equipe1'])."' AND t1.id=t2.id_club ORDER BY t2.salle"; echo $query; $result = mysql_query($query) or die ('Erreur SQL !'.$sql.''.mysql_error()); while($row = mysql_fetch_array($result)){ echo "<option value='".$row['3']."'>".$row['3']."</option>"; $gymnase=$row['3']; } echo "</select>"; ?>
Alors voici comment j'ai fait:
toujours la page principale:
et voici mon code javascript ou ca coince parce que je ne sais pas comment récuperer la valeur de cpt...
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 <?php $cpt=0; while($cpt < $_SESSION['matchs_add']) { ?> .../... <td class='locaux'> <select class='formelement' name='equipe1[<?php echo $cpt;?>]' id='equipe1[<?php echo $cpt;?>]' onchange='equ()'> <option value=''></option> <?php $query = "SELECT categorie, equipe FROM classement WHERE categorie='$cat' ORDER BY equipe"; $result = mysql_query($query) or die('Erreur SQL !'.$sql.''.mysql_error()); while($row = mysql_fetch_array($result)){ echo"<option value='".$row['equipe']."'>".$row['equipe']."</option>\n"; } ?> </select> </td> .../... <?php $cpt++; } ?>
J'ai mis en rouge ce qui ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function equ(){ var xhr = getXhr(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; document.getElementById('liste1').innerHTML = leselect; } } xhr.open("POST","../gymnase.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); sel = document.getElementById('equipe1[<?php echo $cpt;?>]'); choix = sel.options[sel.selectedIndex].value; xhr.send("equipe1[<?php echo $cpt;?>]="+choix); }
Si quelqu'un pouvait me dire comment récuperer la valeur de ma boucle php dans mon code javascript.
Merci d'avance
Partager