Bonjour a tous
Voila mon probleme
J'ai 2 deux listes deroulante dans une page ( une avec les noms des clients et l'autre avec les sites correspondant au client selectionne)
Sur la meme page lorsque je valide ma selection je voudrai recuperer certaine variable
(le code du client et du site serait deja bien avant d'aller plus loin)
mais impossible de recuperer ces variables !!!
De plus pour charger mes listes deroulantes j'utilise des fonctions
Je vous donne le code de la page et ma fonction
<?
session_start();
require "fonctionslistes.php";
if(!isset($r_client))
$r_client='';
if(!isset($r_site))
$r_site='';
?>
<!-- le script permet la cohérence entre le site et le client sélectionné-->
<script>
function after_update_list_client()
{
document.forms["form"].elements["r_site"].value="";
leclient=form.r_client.value;
<?
$sql = "SELECT codeclient, codesite, count(codesite) FROM sites group by codeclient having count(codesite)=1";
$resultat = mysql_query($sql);
while ($enr = mysql_fetch_array($resultat))
{
echo " if ((leclient) == (".$enr[0].")) {\n";
echo " form.r_site.value = ".$enr[1].";\n";
echo " } \n";
}
?>
if(document.forms["form"].elements["r_site"].value=="")
document.forms.form.submit(); //le submit permet de recharger la liste des sites !
}
<!--------------------------------------------------------------------------------->
function after_update_list_codesite()
{
lesite=form.r_site.value;
<?
$sql = "SELECT codesite, codeclient FROM sites";
$resultat = mysql_query($sql);
while ($enr = mysql_fetch_array($resultat))
{
echo " if ((lesite) == (".$enr[0].")) {\n";
echo " form.r_client.value = ".$enr[1].";\n";
echo " }\n";
}
?>
}
</script>
<!--------------------------------------------------------------------------------->
<form name="form" method="post" action="index.php?page=Consultation">
<table width="100%">
<?
if ($admin)
{
echo "<td>Client :</td>
<td>";
affichelisteclientsp($r_client,"r_client",1);
?>
<input type="hidden" name="codeclient" value="<? echo "$r_client" ?>">
<?
echo "</td>";
}
?>
<!----------------- TR ------------------>
<tr>
<td width="60" height="21" valign="top">
Site :
</td>
<td width="693" valign="top">
<? $sql = "SELECT codeclient, codesite, count(codesite) FROM sites WHERE codeclient='$r_client' GROUP BY codeclient HAVING COUNT(codesite)=1";
$resultat = mysql_query($sql);
$row = mysql_num_rows($resultat);
if($row==0)
{
affichelistesitesp($r_site,'r_site',$r_client);
?>
<input type="hidden" name="codesite" value="<? echo "$r_site" ?>">
<?
}
else
{
affichelistesitesp2($r_site,'r_site',$r_client);
?>
<input type="hidden" name="codesite" value="<? echo "$r_site" ?>">
<?
}
?>
</td>
<?
if ($admin)
$codeclient="";
else
$codeclient=$id;
?>
</tr>
<!----------------- TR ------------------>
<tr height="30">
<td height="26" colspan="2" align="center" valign="top">
<input type="button" value="VALIDER">
</td>
</tr>
</table>
</form>
<!----------------------------------------------------------------------------->
<table width="100%">
<tr>
<td>
<?
echo"Nom client : $XXXXX <br />";
echo"Nom site : $XXXXX <br />";
?>
</td>
</tr>
</table>
//////////////////////////////
//////////////////////////
code de la fonction affichelisteclientsp
function affichelisteclientsp($code,$nom,$allowempty)
{
$query="SELECT codeclient, nomclient FROM clients ORDER by nomclient";
$req=mysql_query($query);
echo "<select name='$nom' onChange='after_update_list_client()'>";
if($allowempty!=0)
echo "<option value=\"\"></option>";
while($line = mysql_fetch_array($req))
{
$tmpcode=$line["codeclient"];
$tmpnom=$line["nomclient"];
echo "<option";
if($code==$tmpcode)
{
echo " selected";
}
printf(" value =\"%d\">%s</option>\n",$tmpcode,$tmpnom);
}
echo "</select>\n";
}
Voila je voudrai recup en fin de fichier les 2 variables
Quelqu'un a une idee ????
MERCI pour vos reponses
Atomik29
