Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Double liste déroulante | selected [ Divers / Général ] (blutch38)

mardi 12 décembre 2006 à 08:41:13 | Double liste déroulante | selected

blutch38

Bonjour,
j'ai 2 liste déroulante, lié l'une à lautre.
la 1ere me permet de selectionner un client
la 2eme de selectionner les affaires en cours du client.
Quand je selectionne l'a 1ere avec le Onchange, jfé un submit pour afficher les affaire du client (la toujour OK)
Quand je selectionne la 2eme avec la propriete Onchange je faire un submit du formulaire pour afficher les detail de l'affaire
mon souci : quand j'effectue le submit sur la 2eme liste déroulante, la liste se remet sur l'index -1 et de ce fait, je ne pe pas recupéré le numéro de l'affaire. Car jen est besoin un peu plus bas dans mon formulaire pour ajouter une affaire.
donc jaimerai que lorsque je selectionne une affaire dans ma 2nde liste déroulante, que mon choix reste selectionné et que l'index ne revienne pas a -1.
j'espere etre assé clair

Mes table :
AFFAIRE :
    Nro_affaire (pk)
    CLIENT_Nro_Cli (fk)
    Date_etude
    ....
CLIENT:
    Nro_Cli (pk)
    Nom_Cli
    ....

Code des liste déroulantes               

<code>

<?php


if(isset($_POST['ok']) && isset($_POST['affaire']) && $_POST['affaire'] != "")
{
    $client_selectionnee = $_POST['client'];
    $affaire_selectionne = $_POST['affaire'];

}
?>
<span class="texte">Trouver une affaire</span>
<?php

if($renta != false)
{
 
    $sql1 = "SELECT `Nro_Cli`, `Nom_Cli`".
    " FROM `CLIENT`".
    " ORDER BY `Nom_Cli`";
    $rech_clients = mysql_query($sql1);
    $code_client = array();
    $client = array();
    /* On active un compteur pour les clients */
    $nb_clients = 0;
    if($rech_clients != false)
    {
        while($ligne = mysql_fetch_assoc($rech_clients))
        {
            array_push($code_client, $ligne['Nro_Cli']);
            array_push($client, $ligne['Nom_Cli']);

            /* On incrémente de compteur */
            $nb_clients++;
        }
    }

    ?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgaff" name="chgaff">

<legend>Sélectionnez un client</legend>
<select name="client" id="client" onChange="document.forms['chgaff'].submit();">
  <option value="-1" selected="selected">- - - Choisissez un client - - -</option>
    <?php
    for($i = 0; $i < $nb_clients; $i++)
    {
?>
  <option value="<?php echo($code_client[$i]); ?>"<?php echo((isset($idr) && $idr == $code_client[$i])?" selected=\"selected\"":null); ?>><?php echo($client[$i]); ?></option>
<?php
    }
    ?>
</select>
   
    <?php
   
    mysql_free_result($rech_clients);
    /* On commence par vérifier si on a envoyé un numéro de client et le cas échéant s'il est différent de -1 */
   
    if(isset($idr) && $idr != -1)
    {
        /* Cération de la requête pour avoir les affaires de ce client */
        $sql2 = "SELECT `CLIENT_Nro_Cli`, `Nom_Aff`, `Nro_Affaire`".
        " FROM `AFFAIRE`".
        " WHERE `CLIENT_Nro_Cli` = ". $idr ."".
        " ORDER BY `CLIENT_Nro_Cli`;";
        if($renta != false)
        {
            $rech_affaire = mysql_query($sql2, $renta);
            /* Un petit compteur pour les affaires */
            $nd = 0;
            /* On crée deux tableaux pour les numéros et les noms des affaires */
            $code_affaire = array();
            $nom_affaire = array();
            $no_affaire = array() ;
            /* On va mettre les numéros et noms des affaires dans les deux tableaux */
            while($ligne_affaire = mysql_fetch_assoc($rech_affaire))
            {
                array_push($code_affaire, $ligne_affaire['Nom_Aff']);
                array_push($nom_affaire, $ligne_affaire['CLIENT_Nro_Cli']);
                array_push($no_affaire, $ligne_affaire['Nro_Affaire']);
                $nd++;
            }
            /* Maintenant on peut construire la liste déroulante */
            ?>
<select name="affaire" id="affaire" onChange="document.forms['chgaff'].submit()" >
<option value="-1" >- - - Choisissez une affaire - - -</option>
            <?php  
            for($d = 0; $d<$nd; $d++)
            {

           
            // ICI regarder ac le selected null car renvoi -1
                ?>
  <option value="<?php echo($no_affaire[$d]); ?>"<?php echo((isset($affaire_selectionne) && $affaire_selectionne == $code_affaire[$d])?" selected=\"selected\"":null); ?>><?php echo($code_affaire[$d]." (". $no_affaire[$d] .")"); ?></option>
     
                <?php
            }
?>
</select>
<?php
        }
      
        mysql_free_result($rech_affaire);
    }
?>

<br />
 
<?php
    /* Terminé, on ferme la connexion */
   // mysql_close($renta);
}
else
{

echo "Un incident s'est produit lors de la connexion à la base de données, veuillez essayer à nouveau ultérieurement.";
 
}
?>

</code>

To be awe ... It's The Life ! ;)

mardi 12 décembre 2006 à 09:40:57 | Re : Double liste déroulante | selected

malalam

Administrateur CodeS-SourceS
Hello,

je donne un exemple ici :
http://codyx.org/snippet_listes-deroulantes-liees_89.aspx#229

Il faut tester la valeur du POST pour mettre l'option précédemment sélectionnée à select="selected"


mardi 12 décembre 2006 à 10:20:52 | Re : Double liste déroulante | selected

blutch38

je vien de regarder ton exemple et je tavou que je ne comprend pas trop =/
si tu pourrai me donner un exemple plus adapter à mon code ca serrai super gentil :D


To be awe ... It's The Life ! ;)



Cette discussion est classé dans : client, affaire, array, cli, nro


Répondre à ce message

Sujets en rapport avec ce message

un else qui en renvoit pas ce que je veux [ par oceane751 ] bonjour à tous! et joyeuses paques!voilà mon soucissi un numéro de client n'existe pas, un message informe la personne qui utiilise l'appli, sur le fa Aide Algorithme ... [ par younes371 ] Bonjour,Je viens vers vous pour vous demander un conseil ...bon voilà mon probleme,j ai 3 tables MySQL : "Taches, User, Affaire et Fonction ".je veux probleme d'affichage les enregistrement d'une table de base de donnée [ par rinuom99 ] salut,je veux afficher tout les enregistrement d'une table de base de donnée, j'ai utilisé le code suivant:<div class="smallfont" style=" Authentification WebServices NuSOAP [ par Johandev35 ] Bonjour, j'ai déja posté un message concernant les web services, et j'ai réussi a le resoudre par moi meme. Mais la j'ai un autre probleme, qui parrai WebServices NuSOAP - MySql [ par Johandev35 ] Bonjour, Je développe des WebServices (Service et client) avec la librairie NuSoap.Pour les web services basiques tout marche bien, mais j'ai besoin d Authentification par certificat [ par rudy5917 ] Bonjour à toutes et à tous,Plateforme : PHP5/Mysql/Apache/Ubuntu Server EditionA ce jour, je sais protéger l'accès à un virtual host d'apache pour for calculer la moyenne et afficher les resultas sous format graphe. [ par adiloos98 ] bonjour. j'ai une base de données mysql qui contient 6 tables ville,base de station, AP,client,traffic AP,et traffic client. -chaque ville contient pl liste deroulante prends des valeur selon le choix du 1ere liste onchage php/javascript [ par jalilham ] salut a tousBonjour,jai un formulaire contient 2 combox 1 rempli par le Enregistrer des résultats ARRAY dans des variables séparée... [ par Sniark ] Bonjour à tous,Dans un formulaire, j'ai des SELECT multiple sous forme de listes, dont le contenu est le résultat d'une requête sur ma base de données ip du fai [ par dragoune ] bonjours,j' ai lu quelques forum et bon j'ai trouvé ça :$_SERVER['HTTP_X_FORWARDED_FOR']$_SERVER['HTTP_CLIENT_IP']mais le second code indique mon ip l


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.