begin process at 2012 02 13 03:43:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Liste déroulante "selected"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Liste déroulante "selected"

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ée 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 Problème pour retenir choix d'une liste déroulante [ par Rflx ] Bonjour, Quand j'écris un article dans une catégorie (choisie via une liste déroulante) et que je souhaite éditer l'article après, je n'arrive pas à Affichage d'image après choix dans liste déroulante [ par kentinn07 ] Bonsoir je suis en train de tenter d'afficher les images contenues dans un dossier dans une liste déroulante puis ensuite d'afficher l'image choisie. Liste déroulante avec source sql [ par crazydancer ] J'utilise des listes déroulantes avec les options chargées avec une boucle. Sur IE cela fonctionne très bien, mais sur FireFox et sur Safari cela ne Lié liste déroulante avec la même base de donnée [ par freega ] Bonsoir, Je me permet de poster car après plusieurs recherches sur les listes déroulantes liées entre-elles je n'arrive pas à trouvez une solution. Liste déroulante en php [ par Nadyaa ] [i]Bonjour à tous,je travaille sur une application de gestion de stock et je dois faire 4 listes déroulantes en PHP liées entre elles... J'ai déjà fa liste déroulante [ par cy4nur3 ] Bonjour, comment puis je faire pour qu'une liste déroulante m'affiche le nombre compris entre 1 et n sachant que ce n a été renseigné dans une BDD Listé déroulante en fonction d'une liste de point [ par astuces_jeux ] Bonjour à tous, Le script que je vais vous demander va sûrement vous paraître simple et bizarre, pourtant.. J'ai mis à mes membre un système de point PHP Liste déroulante qui récupère les champs d'une table [ par Cathe89 ] Bonjour, Mon problème est surement simple à régler mais là je plante. J'ai une base de données comprenant une table FILM et une table GENRE. Je voudr afficher la sélection d'une liste déroulante [ par sibuno ] Bonjour, voilà, une petite question, je voudrais pouvoir récupérer et afficher la sélection d'une liste déroulante, en plus du résultat correspondant


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,231 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales