par
ouzbek » 24 juin 2008, 17:25
bonjour à tous,
voila j'ai créer une page de 3 listes deroulantes liées tirée d'un base de donnée et qui marche correctement.
sur ces trois listes deroulantes j'arrive à recuperer les données de la premiere liste (reference) mais pas celle de la 2nde (designation) ni de la 3ème (qte).
si vous avez une solution, des tutoriaux sur le sujet je suis preneur!
je vous mets une partie du code
index.php
Code : Tout sélectionner
<script type='text/javascript'>
//requete1
function go(){
var xhr = getXhr();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
document.getElementById('designation').innerHTML = leselect;
}
}
xhr.open("POST","./ajax1.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
sel = document.getElementById('Id_ref');
id_ref = sel.options[sel.selectedIndex].value;
xhr.send("Id_ref="+id_ref);
}
</script>
</head>
<body>
<form action="envoi_elec.php" method="post" enctype="multipart/form-data">
<legend>commande</legend><br><br>
<label>Ref</label>
<select name='ref' id='Id_ref' onchange='go();'>
<option value='ref_pdt'>reference</option>
<?php
//requete3
include ('connexion.php');
$res = mysql_query("SELECT * FROM ref_elec");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["ref_pdt"]."'>".$row["ref_pdt"]."</option>";
}
?>
</select>
<label>Des</label>
<div id='designation' style='display:inline'>
<select name='designation'>
<option value='designation'>designation</option>
</select>
</div>
<br><br>
<input type="submit" value="envoyer">
</form>
et qui renvoie vers ajax1.php
Code : Tout sélectionner
<?php
//requete1
if(isset($_POST["Id_ref"])){
if ($db=mysql_connect('$a,'$b','$c') ) {
if (mysql_select_db('$b',$db) ) {
$requete = 'SELECT des.id, des.des_pdt, des.Qte, des.Id_ref FROM ref_elec as ref
LEFT JOIN des_elec as des ON des.Id_ref = ref.id WHERE ref.ref_pdt = "' . mysql_escape_string($_POST['Id_ref']) . '"';
if ($res = mysql_query($requete) ) {
echo "<select name='designation'>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["des_pdt"]."'>".$row["des_pdt"]."</option>";
}
echo "</select>";
}
if ($res = mysql_query($requete) ) {
echo ' <label> colis </label>';
echo "<select name='qte'>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["Qte"]."'>".$row["Qte"]. "</option>";
}
echo "</select>";
} else {
echo "Erreur de requête";
}
} else {
echo "Erreur sélection de base de données";
}
} else {
echo "Erreur de connexion mysql";
}
} else {
echo "Id_ref non défini";
}
?>
merci d'avance
bonjour à tous,
voila j'ai créer une page de 3 listes deroulantes liées tirée d'un base de donnée et qui marche correctement.
sur ces trois listes deroulantes j'arrive à recuperer les données de la premiere liste (reference) mais pas celle de la 2nde (designation) ni de la 3ème (qte).
si vous avez une solution, des tutoriaux sur le sujet je suis preneur!
je vous mets une partie du code
index.php
[code]
<script type='text/javascript'>
//requete1
function go(){
var xhr = getXhr();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
document.getElementById('designation').innerHTML = leselect;
}
}
xhr.open("POST","./ajax1.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
sel = document.getElementById('Id_ref');
id_ref = sel.options[sel.selectedIndex].value;
xhr.send("Id_ref="+id_ref);
}
</script>
</head>
<body>
<form action="envoi_elec.php" method="post" enctype="multipart/form-data">
<legend>commande</legend><br><br>
<label>Ref</label>
<select name='ref' id='Id_ref' onchange='go();'>
<option value='ref_pdt'>reference</option>
<?php
//requete3
include ('connexion.php');
$res = mysql_query("SELECT * FROM ref_elec");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["ref_pdt"]."'>".$row["ref_pdt"]."</option>";
}
?>
</select>
<label>Des</label>
<div id='designation' style='display:inline'>
<select name='designation'>
<option value='designation'>designation</option>
</select>
</div>
<br><br>
<input type="submit" value="envoyer">
</form>
[/code]
et qui renvoie vers ajax1.php
[code]
<?php
//requete1
if(isset($_POST["Id_ref"])){
if ($db=mysql_connect('$a,'$b','$c') ) {
if (mysql_select_db('$b',$db) ) {
$requete = 'SELECT des.id, des.des_pdt, des.Qte, des.Id_ref FROM ref_elec as ref
LEFT JOIN des_elec as des ON des.Id_ref = ref.id WHERE ref.ref_pdt = "' . mysql_escape_string($_POST['Id_ref']) . '"';
if ($res = mysql_query($requete) ) {
echo "<select name='designation'>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["des_pdt"]."'>".$row["des_pdt"]."</option>";
}
echo "</select>";
}
if ($res = mysql_query($requete) ) {
echo ' <label> colis </label>';
echo "<select name='qte'>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["Qte"]."'>".$row["Qte"]. "</option>";
}
echo "</select>";
} else {
echo "Erreur de requête";
}
} else {
echo "Erreur sélection de base de données";
}
} else {
echo "Erreur de connexion mysql";
}
} else {
echo "Id_ref non défini";
}
?>
[/code]
merci d'avance