Re: récupérer la valeur retourner par une liste déroulante en php
Salut ,
j'ai débuté en php.
j'ai crée en php une liste déroulante alimentés à partir de la base des données, et lorsque je choisis une code de service sa désignation et son type vont afficher automatiquement, jusqu'à maintenant ça va,mais le pbme que je ne sais pas comment récupérer la valeur retourné par la liste...
et aussi le demande saisi ajouté à la base et les 3 champs cde_sce,desig_sce et type_sce restent vides....
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<script type="text/javascript">
<!--
var Ld1Id='';
var Ld2Id='';
var id_liste='';
function ValideLd2(val)
{
Ld1Id=val; //cde_sce
id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd2.php?Ld1='+Ld1Id;
ObjetXHR(LD_URL)
//objet XMLHttpRequest(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld2Id!='')
{
ValideLd3('');
}
}
function ObjetXHR(LD_URL) {
//creation de l'objet XMLHttpRequest
if (window.XMLHttpRequest) { // Mozilla,...
xmlhttp=new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
xmlhttp.onreadystatechange=ChargeLd;
xmlhttp.open("GET", LD_URL, true);
xmlhttp.send(null);
} else if (window.ActiveXObject) { //IE
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
if (xmlhttp) {
xmlhttp.onreadystatechange=ChargeLd;
xmlhttp.open('GET', LD_URL, true);
xmlhttp.send(null);
}
}
// Bouton non apparent car modification de LD1 ou Ld2
//document.getElementById('buttons').style.display='none';
}
// fonction pour manipuler l'appel asynchrone
function ChargeLd() {
if (xmlhttp.readyState==4) {
if (xmlhttp.status==200) {
//span id="niv2" ou "niv3"
document.getElementById('niv'+id_liste).innerHTML=xmlhttp.responseText;
if (xmlhttp.responseText.indexOf('disabled')<=0) {
//focus sur liste déroulante 2 ou 3
document.getElementById('Liste'+id_liste).focus();
}
}
}
}
<!--function Affiche_Btn() {
//document.getElementById('buttons').style.display='inline';
//}
</script>
<!--
<style>
#buttons {
display: none;
}
</style>-->
<!--*************************************************************************************************************************
*****************************************************************************************************************************-->
<!--**********************************************************************
*****************************************************************************************************************************************************--> <body>
<?PHP
include 'Connexionbd.php';
$rq="Select * from service order by desig_sce;";
$result= mysql_query ($rq) or die('Erreur SQL !'.$rq.'<br>'.mysql_error());
$cde_sce = '<select name="Liste1" id="Liste1" size="1" onchange="ValideLd2(this[this.selectedIndex].value);">';
$cde_sce .= '<option selected value="">Choisir...</option>';
if (mysql_num_rows($result) != 0) {
while ($row = mysql_fetch_row($result))
{ //$cde_sce =$row[0];
$cde_sce .= '<option>'."'". $row[0] ."'".'</option>';
}
$cde_sce .= '</select>';
}
else
{
$cde_sce = '<input id="size" type="text" size="10" value="Aucune valeur" disabled>';
}
//mysql_free_result($result);
mysql_close($connexion);
echo($cde_sce);
?> <span id="niv2"> <?php
include 'Connexionbd.php';
$cde_sce =''; //cde_sce cl de la liste droulante 1
if (isset($_GET['Ld1'])) {$cde_sce = $_GET['Ld1'];}
if ($cde_sce)
{
$rq="Select * from service where cde_sce=".$cde_sce." order by desig_sce;";
$result= mysql_query ($rq) or die('Erreur SQL !'.$rq.'<br>'.mysql_error());//echo $Ld1_retour;
//if (mysql_num_rows($result) != 0)
//{
while ($row = mysql_fetch_row($result))
{?>
<input name="desig_sce" type="text" id="desig_sce" size="10" value="'.$row[1].'" readonly="readonly"/>
Type de service: <input name="type_sce" type="text" id="type_sce" size="10" value="'.$row[2].'" readonly="readonly"/>
<?php
}
}
?>
<!--****************************************************************************************************************************************
*********************************************************************************************************************************************-->
</body>
</html> |
pour mieux comprendre notre pbme,voilà j'explique encore,la page au dessus est exécuté bien mais lorsque je clique sur le boutton valider et après la chargement de la page ajoutcmde.php l'erreur suivant s'affiche:
Code:
1 2 3 4 5
| Notice: Undefined index: cde_sce in C:\Program Files\EasyPHP 2.0b1\www\ajoutcmde.php on line 14
Notice: Undefined index: desig_sce in C:\Program Files\EasyPHP 2.0b1\www\ajoutcmde.php on line 15
Notice: Undefined index: type_sce in C:\Program Files\EasyPHP 2.0b1\www\ajoutcmde.php on line 16 |
et aussi le demande saisi ajouté à la base et les 3 champs cde_sce,desig_sce et type_sce restent vides....
Please help me