Bonjour à tous !
Je réalise des listes liées dynamiques.
J'ai un souci, juste après le choix de la 1er boîte déroulante :
La suivante ne se met pas à jour d'elle-même !
Pouvez-vous m'aider ?
D'avance, je vous en remercie.
En pièces jointes les 4 tables sql utilisées.
Voici le code HTML (partie supérieure entre head et /head :
Voici une partie du code HTML entre les balises body et /body :
Voici php/ajaxcategorie01.php
Voici php/ajaxcategorie02.php
Voici php/ajaxcategorie03.php
Modifié par jytest (16 Nov 2011 - 18:59)
Je réalise des listes liées dynamiques.
J'ai un souci, juste après le choix de la 1er boîte déroulante :
La suivante ne se met pas à jour d'elle-même !
Pouvez-vous m'aider ?
D'avance, je vous en remercie.
En pièces jointes les 4 tables sql utilisées.
Voici le code HTML (partie supérieure entre head et /head :
<script type="text/javascript">
<!--
// categorie00
function gocategorie00() {
getXhr();
// On définit ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function() {
// On ne fait quelquechose que si l'on a tout reçu et que le serveur est OK
if (xhr.readyState == 4 && xhr.status == 200) {
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options à la liste
document.getElementById('categorie01').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","php/ajaxcategorie01.php",true);
// Ne ps oublier ç pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// Ne ps oublier de poster les arguments
// ici l'id de cat00
sel = document.getElementById('categorie00');
idcategorie00 = sel.options[sel.selectedIndex].value;
xhr.send("parent="+idcategorie00);
}
// categorie01
function gocategorie01() {
getXhr();
// On définit ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function() {
// On ne fait quelquechose que si l'on a tout reçu et que le serveur est OK
if (xhr.readyState == 4 && xhr.status == 200) {
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options à la liste
document.getElementById('categorie02').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","php/ajaxcategorie02.php",true);
// Ne ps oublier ç pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// Ne ps oublier de poster les arguments
// ici l'id de cat01
sel = document.getElementById('categorie01');
idcategorie01 = sel.options[sel.selectedIndex].value;
xhr.send("parent="+idcategorie01);
}
// categorie02
function gocategorie02() {
getXhr();
// On définit ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function() {
// On ne fait quelquechose que si l'on a tout reçu et que le serveur est OK
if (xhr.readyState == 4 && xhr.status == 200) {
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options à la liste
document.getElementById('categorie03').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","php/ajaxcategorie03.php",true);
// Ne ps oublier ç pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// Ne ps oublier de poster les arguments
// ici l'id de cat01
sel = document.getElementById('categorie02');
idcategorie02 = sel.options[sel.selectedIndex].value;
xhr.send("parent="+idcategorie02);
}
// categorie03
function gocategorie03() {
getXhr();
// On définit ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function() {
// On ne fait quelquechose que si l'on a tout reçu et que le serveur est OK
if (xhr.readyState == 4 && xhr.status == 200) {
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options à la liste
document.getElementById('categorie04').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","php/ajaxcategorie04.php",true);
// Ne ps oublier ç pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// Ne ps oublier de poster les arguments
// ici l'id de cat01
sel = document.getElementById('categorie03');
idcategorie03 = sel.options[sel.selectedIndex].value;
xhr.send("parent="+idcategorie03);
}
-->
</script>
</head>
Voici une partie du code HTML entre les balises body et /body :
<table id="tableoptions" border="0" cellspacing="0" style="vertical-align:middle;">
<tr>
<td width="150"></td>
<td width="310"></td>
</tr>
<tr>
<td colspan="2" style="padding:7px;" bgcolor="#0E72B5" class="blanc bold">Prix en ligne instantané</td>
</tr>
<tr>
<td colspan="2" style="padding:7px;">
Afin d'établir un devis,<br>veuillez choisir parmi toutes les options suivantes :</td>
</tr>
<tr id="tr00">
<td style="padding:7px;">Document</td>
<td style="padding-left:5px;">
<select id="categorie00" style="width:280px;" onChange="gocategorie00();">
<option value="none">Choisissez, svp !</option>
<?php
require_once("php/connexionMysql.inc.php");
$query = mysql_query("SELECT * FROM shop_categorie00 ORDER BY libelle");
while ($back = mysql_fetch_assoc($query)) {
echo "\t\t\t\t<option value='".$back['id']."' >".$back['libelle']."</option>\n";
}
?>
</select>
<span id="loader00" style="display: none;"><img src="images/boutique/loader.gif" alt="loading" width="16" height="16" /></span>
</td>
</tr>
<tr id="tr01">
<td style="padding:7px;">Descriptif</td>
<td style="padding-left:5px;">
<select name="categorie01" style="width:280px;">
<option value="none">Choisissez, svp !</option>
<span id="loader01" style="display: none;"><img src="images/boutique/loader.gif" alt="loading" width="16" height="16" /></span>
</select>
</td>
</tr>
<tr id="tr02">
<td style="padding:7px;">Format</td>
<td style="padding-left:5px;">
<select name="categorie02" style="width:280px;">
<option value="none">Choisissez, svp !</option>
<span id="loader02" style="display: none;"><img src="images/boutique/loader.gif" alt="loading" width="16" height="16" /></span>
</select>
</td>
</tr>
<tr id="tr03">
<td style="padding:7px;">Papier</td>
<td style="padding-left:5px;">
<select name="categorie03" style="width:280px;">
<option value="none">Choisissez, svp !</option>
<span id="loader03" style="display: none;"><img src="images/boutique/loader.gif" alt="loading" width="16" height="16" /></span>
</select>
</td>
</tr>
<tr id="tr08">
<td style="padding:7px;">Prix d'impression</td>
<td style="padding-left:5px;"><span class="c14 bold"><?php echo $pvht."€ HT"; ?></span><span class="c10"><?php echo "( ".$pvht."€ TTC)"; ?></span></td>
</tr>
<tr id="tr09">
<td style="padding:7px;"> </td>
<td style="padding-left:5px;"><a href="panier.php">Ajouter au panier</a></td>
</tr>
</table>
Voici php/ajaxcategorie01.php
<?php
require_once("php/connexionMysql.inc.php");
echo "<select name='categorie01' id='categorie01' onchange='gocategorie01()'>";
if (isset($_REQUEST['idCategorie00'])) {
$query = mysql_query("SELECT * FROM shop_categorie01".
" WHERE parent=".$_REQUEST['idCategorie00'].
" ORDER BY id");
while ($back = mysql_fetch_assoc($query)) {
echo "<option value='".$back['id']."'>".$back['libelle']."</option>";
}
} else {
}
echo "</select>";
?>
Voici php/ajaxcategorie02.php
<?php
require_once("php/connexionMysql.inc.php");
echo "<select name='categorie02' id='categorie02' onchange='gocategorie02()'>";
if (isset($_REQUEST['idCategorie01'])) {
$query = mysql_query("SELECT * FROM shop_categorie02".
" WHERE parent=".$_REQUEST['idCategorie01'].
" ORDER BY id");
while ($back = mysql_fetch_assoc($query)) {
echo "<option value='".$back['id']."'>".$back['libelle']."</option>";
}
} else {
}
echo "</select>";
?>
Voici php/ajaxcategorie03.php
<?php
require_once("php/connexionMysql.inc.php");
echo "<select name='categorie03' id='categorie03' onchange='gocategorie03()'>";
if (isset($_REQUEST['idCategorie02'])) {
$query = mysql_query("SELECT * FROM shop_categorie03".
" WHERE parent=".$_REQUEST['idCategorie02'].
" ORDER BY id");
while ($back = mysql_fetch_assoc($query)) {
echo "<option value='".$back['id']."'>".$back['libelle']."</option>";
}
} else {
}
echo "</select>";
?>




Modifié par jytest (16 Nov 2011 - 18:59)