Voila j'utilise la méthode ajax pour récupérer des valeurs dans ma base via une liste déroulante. C'est à dire que suivant le choix fait dans ma liste déroulante une requete est lancée pour me donner des valeurs de ma base directement. Cela fonctione bien mais le probleme c'est que ces valeurs sont récupérées dans un div alors que j'aimerais les avoir dans un input text...! j'ai essayé diverses choses mais je n'y arrive pas il ne veut que le div
Voici la partie du code coté index.php (le div en question est à id="contenu") :
<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
</script>
</head>
<body>
<?php
// Paramètres de la Connexion à la base MYSQL
$user="root";
$host="localhost";
$password="";
$database="mediateczrecall";
$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 * from client where id_cabinet='0' order by id;";
$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
while ($dt=mysql_fetch_row($result))
{
// Remplir la liste déroulante des catégorie
echo "<option value=".($dt[0]).">".($dt[1])."</option>";
if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
}
?>
</select><br><br>
Appuyer sur OK pour confirmer cette utilisateur :
<div id="contenu">
<?php
// affichage des sous-catégorie appartenant à la première catégorie.
//echo "<input size='1' name='souscat'>";
$rq="Select * from client where id=".$j." order by id;";
$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[12])."</option><br>";
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[13])."</option><br>";
}
echo "</select>";
?>
</div>
</form>
</body>
</html>
Et voici le code coté 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="mediateczrecall";
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
mysql_select_db($database,$connexion);
$rq="Select * from client where id=".$_POST['id']." order by id;";
$result= mysql_query ($rq) or die ("Select impossible");
// $i = initialise le variable i
$i=0;
if (mysql_num_rows($result)>0)
{
//echo "<input size='1' name='souscat'>";
}
else
{
echo utf8_encode("Pas de sous catégories disponible");
}
while ($dt=mysql_fetch_row($result))
{
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[12])."</option><br>";
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[13])."</option><br>";
}
echo "</select>";
}
?> J'arrive pas à m'en sortir ! Merci d'avance pour vos suggestions