malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 8 févr. 2006 à 10:59
Hello,
heu, c'est justement quand le nombre de données qui transitent entre le serveur et le client est important que les requêtes xmlhttp ne sont pas forcément recommandables...
Enfin bref, que ce soit entre 2, 3, ou 10 listes, la manière sera la même.
Dis nous plutôt sur quoi tu bloques ?
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 8 févr. 2006 à 13:33
je bloque sur la deuxième liste il faut juste répéter le même procédé que pour la première liste ou il faut rajouter quelque chose d'autre ???
car ç'est la liste intermédiaire qui reçoi la donnée de la 1ère et doit donner une valeur à la 3ème !
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 10 févr. 2006 à 10:20
ça ne fonctionne toujours pas ! je ne vois vraiment pas ! je met mon code !
page principal
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
/**
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData(param, page)
{
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else
//définition de l'endroit d'affichage:
var content = document.getElementById("contenu");
XhrObj.open("POST", page);
//Ok pour la page cible
XhrObj.onreadystatechange = function()
{ if (XhrObj.readyState 4 && XhrObj.status 200)
content.innerHTML = XhrObj.responseText ;
}
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}//fin fonction SendData
function send(param, page)
{
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else
//définition de l'endroit d'affichage:
var content = document.getElementById("cont");
XhrObj.open("POST", page);
//Ok pour la page cible
XhrObj.onreadystatechange = function()
{ if (XhrObj.readyState 4 && XhrObj.status 200)
content.innerHTML = XhrObj.responseText ;
}
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}//fin fonction SendData
</script>
</head>
<?php
// Paramètres de la Connexion à la base MYSQL
$user="";
$host="";
$password="";
$database="";
$i=0; // variable de test
$j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
$k=0;
$l=0;
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
mysql_select_db($database,$connexion);
echo '<form action="rec.php" method="POST">';
// Séléction de tous les enregistrements de la table Catégorie
$rq="SELECT * FROM structure WHERE numstructure <> 0 ORDER BY siglestructure;";
$result= mysql_query ($rq) or die ("Select impossible");
?>
<select size="1" name="struc" OnChange="sendData('id='+this.value,'liresc.php')" onKeyUp="sendData('id='+this.value,'liresc.php')">
<?php
while ($dt=mysql_fetch_row($result))
{
// Remplir la liste déroulante des catégorie
echo "<option value=".($dt[0]).">".($dt[2])."</option>";
if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
}
?>
</select>
<select size='1' name='service' OnChange="send('no='+this.value,'lire.php')" onKeyUp="send('no='+this.value,'lire.php')">
<?php
$rq="SELECT * FROM service WHERE numstructure=".$j." ORDER BY nomservice;";
$result= mysql_query ($rq) or die ("Select impossible");
// $i = initialise le variable i
$i=0;
while ($dt=mysql_fetch_row($result))
{
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option>
";
if ($k==0) { $l=$dt[0]; $k=1; } // garder la valeur du premier enregistrement
}
echo "</select>";
echo '
';
?>
<select size='1' name='sous_service'>
<?php
$rq="SELECT * FROM sous_service WHERE numservice=".$l." ORDER BY nomsousservice;";
$result= mysql_query ($rq) or die ("Select impossible");
$k=0;
while ($dt=mysql_fetch_row($result))
{
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option>
";
}
echo "</select>";
echo '
';
echo '';
echo "</form>";
?>
</html>
lire.php
<?php
header('Content-type: text') ; // on déclare ce qui va être afficher
// test des POST emis
if(isset($_POST['no']) && !empty($_POST['no']) ){
$user="";
$host="";
$password="";
$database="";
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
mysql_select_db($database,$connexion);
$rq="SELECT * FROM sous_service WHERE numservice=".$_POST['no']." ORDER BY nomsous_service;";
$result= mysql_query ($rq) or die ("Select impossible");
$k=0;
if (mysql_num_rows($result)>0)
{
echo "<select size='1' name='sous_service'>";
}
else
{
echo utf8_encode("Aucun sous service");
echo '';
}
while ($dt=mysql_fetch_row($result))
{
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option>
";
}
echo "</select>";
}
?>
liresc.php
<?php
header('Content-type: text') ; // on déclare ce qui va être afficher
// test des POST emis
if(isset($_POST['id']) && !empty($_POST['id']) ){
$user="";
$host="";
$password="";
$database="";
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
mysql_select_db($database,$connexion);
$rq="SELECT * FROM service WHERE numstructure=".$_POST['id']." ORDER BY nomservice;";
$result= mysql_query ($rq) or die ("Select impossible");
// $i = initialise le variable i
$i=0;
if (mysql_num_rows($result)>0)
{
echo "<select size='1' name='service'>";
}
else
{
echo utf8_encode("Aucun service");
echo '';
}
while ($dt=mysql_fetch_row($result))
{
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option>
";
}
echo "</select>";
}