[AJAX] Variable PHP dans Ajax
Bonjour,
J'ai ce petit bout de code:
La page principale
Code:
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>
.../... |
Ma fonction javascript:
Code:
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);
} |
et mon programme qui affiche ma nouvelle liste:
Code:
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>";
?> |
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.
Alors voici comment j'ai fait:
toujours la page principale:
Code:
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++; } ?> |
et voici mon code javascript ou ca coince parce que je ne sais pas comment récuperer la valeur de cpt...
Code:
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);
} |
J'ai mis en rouge ce qui ne fonctionne pas.
Si quelqu'un pouvait me dire comment récuperer la valeur de ma boucle php dans mon code javascript.
Merci d'avance