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 : Liste déroulante "selected" [ Divers / Général ] (blutch38)

mercredi 6 décembre 2006 à 08:58:32 | Liste déroulante "selected"

blutch38

voila pouvez vous m'eclairé sur ce bout de code ?

<select name="affaire" id="affaire">
<option value="-1">- - - Choisissez une affaire - - -</option> 
            <?php  
            for($d = 0; $d<$nd; $d++)
            { // code_affaire rempalcé par no_affaire
                ?>
  <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>

ce ci est mon option value de ma 2nd liste déroulante (ce ki saffiche dans la 2eme lorsque je fait un choix dans une 1ere liste)
Le probleme, lorsque je fait mon submit, la 1ere liste reste bien sur le bon index mais la 2eme (celle-ci) se remet au début de la liste :( et moi je voudrai kelle reste sur celui que jai selectionné meme aprés le submit (mon submit ne fait que renvoyer le formulaire pour information)
merci

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

mercredi 6 décembre 2006 à 09:50:07 | Re : Liste déroulante "selected"

flor003

salut
ce code me di quelque chose.
<?php echo((isset($_POST['1ere_liste_deroulante']) && $_POST['2eme_liste_deroulante'] = =
ou
if(isset($_POST['1ere_liste_deroulante']) && $_POST['affaire'] != "")
{
    $1ere_liste_deroulante = $_POST['1ere_liste_deroulante'];
    $affaire_selectionne = $_POST['affaire'];
}
a+

mercredi 6 décembre 2006 à 09:52:21 | Re : Liste déroulante "selected"

flor003

suite du message validé par mon subconscient (qui me joue des tours).
<select name="affaire" id="affaire">
<option value="-1">- - - Choisissez une affaire - - -</option> 
            <?php  
            for($d = 0; $d<$nd; $d++)
            { // code_affaire rempalcé par no_affaire
                ?>
  <option value="<?php echo($no_affaire[$d]); ?>"<?php echo((isset($1ere_liste_deroulante) && $affaire_selectionne = = $code_affaire[$d])?" selected=\"selected\"":null); ?>><?php echo($code_affaire[$d]." (". $no_affaire[$d] .")"); ?></option>
                <?php
            }
?>
</select>

mercredi 6 décembre 2006 à 10:02:20 | Re : Liste déroulante "selected"

blutch38

ha ba na ...
dans tout les cas apré mon submit ca me remet sur : - - - Choisissez une affaire - - -

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

mercredi 6 décembre 2006 à 10:14:25 | Re : Liste déroulante "selected"

blutch38

sans oublier les index non défini ...
moi ce ke jve c'est qu'apres mon submit sur cette liste déroulante, il reste sur l'index selectionnée !!!

sur ma 1ere liste déroulante si dessous ca marche bien :(

<legend>Sélectionnez un client</legend>
<select name="client" id="client" onChange="document.forms['chgaff'].submit();">
  <option value="-1">- - - 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>

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

mercredi 6 décembre 2006 à 10:34:39 | Re : Liste déroulante "selected"

flor003

les listes déroulantes sont bien liées.
Cest a dire que kan on selectionne  laffaire c laffaire du client deja selectionné?


mercredi 6 décembre 2006 à 10:53:15 | Re : Liste déroulante "selected"

blutch38

Non,
dans la 1ere liste tu selectionne un client et aprés dans la 2eme liste apparaissent les affaires du client concerné

______       ___________________   __________
|Fnac   |      | ---selectionne affaire--- |  | VALIDER  |
--------       -------------------------   -------------
                  | affaire N°1                    |
                  --------------------------
                  | affaire N°2                    |
                  --------------------------


Si tu selectionne fnac ca va afficher : ---selectionne affaire--- et dans cette liste déroulante tu aura le choise de l'aff n°1 et n°2
aprés kan je selectionne l'affaire, ca maffiche les detail de celle ci (aprés apré ke jai appuier sur VALIDER) mais dans la 2nd liste déroulante ca me remet sur : ---selectionne affaire--- . Alors que jai besoin que ca reste sur laffaire selectionné car il fo que je fasse un $_POST dessus dans le traitement de mon formulaire plus bas.
jespere que jai été clair

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

mercredi 6 décembre 2006 à 11:11:27 | Re : Liste déroulante "selected"

flor003

ca doit faire ca jai pas testé :

if(isset($_POST['client'])){$le_client=$_POST['client'];}
if(isset($_POST['affaire']) && $_POST['affaire'] != "")
{
    $client_selectionne = $_POST['client'];
    $affaire_selectionne = $_POST['affaire'];
}

$req = "SELECT num_client, nom_client FROM clients ORDER BY num_client;";
    $rech_cli = mysql_query($req);
    $code_cli = array();
    $client = array();
    /* On active un compteur pour les clients */
    $nb_cli = 0;
    if($rech_cli != false)
    {
        while($row = mysql_fetch_assoc($rech_cli))
        {
            array_push($code_cli, $row['num_cli']);
            array_push($client, $row['nom_cli]);

            /* On incrémente le compteur */
            $nb_cli++;
        }
    }
    ?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" id="client" name="client">
                    marque <select name="client" id="client" onchange="document.forms['client'].submit();">
                        <option value="-1">- - - Choisissez un client - - -</option>
                        <?php
                        for($i = 0; $i < $nb_cli; $i++)
                        {
                        ?>
                              <option value="<?php echo($code_cli[$i]); ?>"<?php echo((isset($le_client) && $le_client == $code_cli[$i])?" selected=\"selected\"":null); ?>><?php echo($client[$i]); ?></option>
                        <?php
                        }
                        ?>
                    </select>
                    <?php
                        mysql_free_result($rech_cli);
                    /* 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($le_client) && $le_client != -1)
                        {
                            /* Création de la requête pour avoir les affaires du client */
                        $req2 = "SELECT num_affaire, nom_affaire FROM affaire WHERE num_affaire = '".$le_client."' ORDER BY num_affaire;";
       
                        $rech_affaire = mysql_query($req2);
                        /* Un petit compteur pour les modèles */
                        $nb_affaire = 0;
                        /* On crée deux tableaux pour les numéros et les noms des modèles */
                        $code_affaire = array();
                        $nom_affaire = array();
                        /* On va mettre les numéros et noms des modèles dans les deux tableaux */
                        while($row2 = mysql_fetch_assoc($rech_affaire))
                        {
                            array_push($code_affaire, $row2['num_affaire']);
                            array_push($nom_affaire, $row2['nom_affaire']);
                            $nb_affaire++;
                        }
                            /* Maintenant on peut construire la liste déroulante */
                            ?>
                   
                        affaire <select name="affaire" id="affaire">
                        <?php 
                        for($d = 0; $d<$nb_affaire; $d++)
                        {
                        ?>
                              <option value="<?php echo($code_affaire[$d]); ?>"<?php echo((isset($affaire_selectionne) && $client_selectionne == $code_affaire[$d])?" selected=\"selected\"":null); ?>><?php echo $nom_affaire[$d]; ?></option>
                        <?php
                        }
                        ?>
                    </select>
                    <?php
                        
                        /* Un petit coup de balai */
                    mysql_free_result($rech_affaire);
                       }
                    ?>
                    <input type="submit" value="ok" id="ok" name="ok"/>
                </form>

mercredi 6 décembre 2006 à 11:33:42 | Re : Liste déroulante "selected"

blutch38

<?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++;
        }
    }
    //"<?php echo($_SERVER['PHP_SELF']); ? >"
    ?>
<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">- - - 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++)
            {

                ?>
  <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
        }
        /* Un petit coup de balai */
        mysql_free_result($rech_affaire);
    }
?>

moi j'ai car me basé par rapport a ce que tu ma donnée ne fait que plus membrouiller ! lol (mais jai pas dit que s'etait pas bien !!!)
(jai suppr le bouton et mis le submit sur le onchange dans ma 2eme liste pour éviter au commerciaux davoir trop de bouton a cliker)

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

mercredi 6 décembre 2006 à 15:05:34 | Re : Liste déroulante "selected"

mrjulien

Une petite idée:

$j = 0;
echo "<select....>";
while (mysql_fetch_array(blabla){
echo "<option value.......";
echo $j === 0 ? ' checked' : '';
$j++;
}

Si l'enregistrement est le numero 0 (les 3 = pour le strictement) l'enregistrement est selectionné dans la liste.


 




Cette discussion est classé dans : liste, affaire, déroulante, submit, selected


Répondre à ce message

Sujets en rapport avec ce message

SUBMIT ??? [ par sebalex ] Salut à tous,Je vous soumets mon problème en espérant que vous saurez m'aider. Voilà, j'ai une liste déroulante avec diverses variables (enfants, pare saisie dans une liste déroulante [ par vir76 ] Bonsoir,Dans un formulaire, j'ai fait une liste déroulante à l'aide d'un select et je voudrais savoir si c'est possible d'insérer des données dans une liste déroulante, données automatiques [ par morpheus22170 ] bonsoir à tout le monde,je voulais savoir s'il était possible de créer une liste déroulante prenant une information, dans une table mysql(phpadmin pou zone de liste déroulante [ par leissler ] Bonjour à toutes et à tous Voila, je début en php et j'ai besoin de faire la chose suivante Soit une table   niveau avec un champ abrege et un champ c liste déroulante dépandente [ par abdouinfomiage ] slt est ce que quelqu'un a un script type d'une liste déroulante qui est remplie en fonction du résultat d'une autre liste déroulante et merci. Probleme génération liste déroulante [ par Tupac59 ] Voila mon code, je vois vraiment pas pourquoi il ne fonctionne pas, j'ai la meme chose quelques lignes au dessus qui marche impeccable et là il me met Caractère spéciaux d'une liste déroulante [ par alextec ] Bonjour à tous, j'ai chercher sur le forum mais je n'ai pas trouver comment faire pour mon cas...Voilà je crée une liste déroulante en php, les résult liste déroulante et affichage [ par didine6 ] Bonjour @ tous !Voici mon soucis :j'ai une liste déroulante contenant les données du BD mysql.Je souhaite affiche dans un les champs associées à la v Ajout dans liste déroulante ... [ par jumano ] Bonjour, Débutant en PHP, je voudrais savoir s'il existe une petite astuce pour : Sur une page contenant un f Liste déroulante et scrollbar [ par martins13 ] Bonjour à tous,J'ai besoin d'un peu d'aide...Je consrtuis une liste déroulante, je voudrais que pour cette liste il n'y ait pas de bordure et de scroo


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,218 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é.