Vous aviez raison!!!!!!!
La suite s'affiche maintenant!!!
Mais j'ai un autre probleme je n'arrive pas a changer dynamique la meme liste dynamique voici le code entier que j'utilise pour faire ceci :
dans l'entete :
<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
</script>
Dans mon programme principale :
<?php
// Paramètres de la Connexion à la base MYSQL
$user="root";
$host="localhost";
$password="";
$database="client";
$i=0; // variable de test
$j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );
mysql_select_db($database,$connexion);
// Séléction de tous les enregistrements de la table Catégorie
$rq="Select departement from info_maison_retraite;";
$result= mysql_query ($rq) or die ("Select impossible" );
echo "<form method='POST' action='valid.php'>";
?>
<select size="1" name="cat" OnChange="sendData('id='+this.value,'liresc.php')" onKeyUp="sendData('id='+this.value,'liresc.php')">
<?php
echo "<option selected>Departement</option>";
while ($dt=mysql_fetch_row($result))
{
// Remplir la liste déroulante des catégorie
echo "<option value=".($dt[0]).">".($dt[0])."</option>";
if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
}
?>
</select>
<div id="contenu">
<?php
// affichage des sous-catégorie appartenant à la première catégorie.
echo "<select size='1' name='souscat'>";
echo "<option>Maisons De Retraites</option><br>";
$rq="Select nom from info_maison_retraite where departement=".$j.";";
$result= mysql_query ($rq) or die ("Select impossible" );
// $i = initialise le variable i
$i=0;
while ($dt=mysql_fetch_row($result))
{
echo "<option>".utf8_encode($dt[0])."</option><br>";
}
echo "</select>";
?>
</div>
et voici mon fichier 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="root";
$host="localhost";
$password="";
$database="client";
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );
mysql_select_db($database,$connexion);
$rq="Select nom from info_maison_retraite where departement=".$_POST['id'].";";
$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='souscat'>";
}
else
{
echo utf8_encode("Pas de sous catégories disponible" );
}
echo "<option selected>Maisons De Retraites</option><br>";
while ($dt=mysql_fetch_row($result))
{
echo "<option>".utf8_encode($dt[0])."</option><br>";
}
echo "</select>";
}
?>
Alors voici ma question ds mon prog principale j'essaye de modifier la palce de la 2e liste pr l'inseré a coté de la premiere ceci fonctionne mais quand je regarde ce que ca donne lorsque je change la premiere au lieu de modifier celle qui se trouve a sa droite elle en fait apparaitre une autre en dessous...
Savez vous d'ou provient ce probleme ?
Je pense que c'est du a la balise <div id=contenu> nan ?
car quand je modifie la place de ma liste dynamique cette balise se retrouve en dessous!
Merci de votre aide
Johnson