Recup de variables (dans liste deroulante) sur la meme page

Résolu
atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 - 23 mai 2006 à 14:27
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 - 23 mai 2006 à 14:43
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">
<?
if ($admin)
{
    echo \"Client :,
    ";
    affichelisteclientsp($r_client,"r_client",1);
    ?>
    ">
    <?
    echo ", \";
}
?>
<!----------------- TR ------------------>
----

Site :,
<? $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);
    ?>
    ">
    <?
    }
else
    {
    affichelistesitesp2($r_site,'r_site',$r_client);
    ?>
    ">
    <?
    }
?>,
<?
if ($admin)
    $codeclient=\"\";
else
    $codeclient=$id;
?>

<!----------------- TR ------------------>
----

</form>
<!----------------------------------------------------------------------------->

<?
echo"Nom client : $XXXXX
";
echo"Nom site : $XXXXX
";
?>

//////////////////////////////
//////////////////////////
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

4 réponses

atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 1
23 mai 2006 à 14:41
OK j'ai poste trop vite DESOLE

il fallati que je recharge la page dans ma fonction  after_update_list_codesite()
CAD rajouter a la fin la ligne
document.forms.form.submit();

Merci a ceux qui ont quand meme jete un coup d'oeil
Salut
Atomik29
3
atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 1
23 mai 2006 à 14:30
J'ai oublie un truc
quand je met a la fin la ligne :

echo"Nom client : $r_client
";
je recupere bien le code du client selectionne

pourquoi si je met
echo"Nom client : $r_client
";
je ne recupere pas le code du site associe au client ????

Atomik29
0
atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 1
23 mai 2006 à 14:32
ME SUIS TROMPE
pourquoi si je met
echo"Nom site : $r_site
";

je ne recupere pas le code du site associe au client ????

Atomik29
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
23 mai 2006 à 14:43
moi j'ecrirais ça comme _ça

  <?php echo $r_client; ?></gras>    ">
...
    <?php echo $r_site; ?>   ">

...
et pourquoi pas
...
echo "Nom client : $codeclient
";
echo "Nom site : $codesite
";
0
Rejoignez-nous