IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Remplir une liste déroulante


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut Remplir une liste déroulante
    Bonjour à tous !

    Voila, j'ai voulu effectuer les listes déroulantes sur les choix des statuts grâce aux lectures dans un fichier.
    C'est à dire que mes valeurs sont placés dans un fichier texte, et que la liste déroulantes est créer par rapport aux valeurs de ce fichier.
    Voici les valeurs de ce fameux fichier texte( en réalité il y en as 2 car 1 par statut ( permanent, cdd et doctorant) mais une fois l'opération réalisé pour 1 fichier, on peux le faire pour plusieurs fichier) :
    Statut-permanent.txt :

    Maitre de conférence (MC)
    Professeur
    Chargé de recherche (CR)
    Directeur
    Adjoint technique (AJT)
    Technicien (T)
    Assistant Ingénieur (AI)
    Ingénieur d'étude (IE)
    Ingénieur recherche (IR)
    ITA-IATOS

    Le probléme est le suivant :
    Il faut créer une page dynamique suivant si l'on clique sur le bouton "nouveau permanent" qui correspond donc à l'ajout, ou bien si l'on as cliquer sur une personne dans la page d'accueil, ce qui correspond à la modification. Le souci c'est qu'il ne rempli absolument pas ma balise avec les differentes options...

    Et voila le code que j'ai donc effectué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
     Etablissement : <select name="lstEtablissement">
                         <?php
                              //--- Test pour savoir si il s'agit d'un doctorant, d'un Permanent ou d'un CDD---
     
                              // 1er Test : Le doctorant
                            if(($_GET['user']=="Doctorant") OR ($statut=="Doctorant")){
     
                                //Si c'est un doctorant, alors on met 1 seule option qui sera "doctorant"
                                echo"<option>Doctorant</option>";
     
                            //2eme Test : Le Permanent
                            }else if($_GET['user']=="Permanent"){
                            /*A partir d'ici, il s'agit SEULEMENT du clic sur le bouton "Nouveau doctorant, mais il faut savoir si on as pas aussi cliquer sur une personne qui est permanente
                            C'est pour cela qu'on effectue differentes manipulations sur les fichiers.*/
     
                                //ouverture du fichier en mode lecture
                                $fp=fopen("./infos/Statut-permanent.txt", "r");
     
                                //verification qu'il n'y as acune erreur de lecture.
                                if (!$fp=fopen("./infos/Statut-permanent.txt", "r")){
                                    echo"Echec de l'ouverture du fichier";
                                }
     
                                // Tableau qui contiendra les valeurs du fichier afin de les comparer avec la variable $statut.  
                                $tabStatutPermanent= array();
                                $i=0;
     
                                //tant que l'on est pas en fin de fichier, on rempli le tableau avec les valeurs du fichier.                
                                while (!feof($fp)){                        
                                    $tabStatutPermanent[$i]=fgets($fp);
                                    $i=$i++;
                                }
     
                                //$nb contient le nombre de case rempli dans notre tableau
                                $nb=count($tabStatutPermanent);
                                $j=0;
     
                                //Tant que $j est inferieur au nombre de case rempli dans notre tableau
                                while(($j<$nb) AND ($statut!=$tabStatutPermanent[$j])){
     
                                    /* On vérifie que la variable $statut est differente de nos valeurs dans le tableau, afin d'incrémenter $j
                                    et de passer à la valeur suivante du tableau, jusqu'a ce que $j dépasse le nombre de valeurs dans notre tableau
                                    ou bien que $staut soit égale à notre valeur dans le tableau.
                                    */
     
                                        $j=$j++;
                                    }
     
                                    /* A partir d'ici, il y a 2 cas possibles : Soit on est sortir de la boucle car on as trouvé que $staut est égal à l'un des valeurs de notre tableau
                                    Soit parce que $j est plus grand que $nb, dans ce cas là, on as pas trouvé la bonne valeur avec $statut... 
                                    */
     
                                    /*Le test suivant permet de savoir si on est sortir de la boucle parce qu'on as trouvé la bonne valeur et qu'il restait encore des valeurs dans notre tableau.
                                    Si ce n'est pas le cas, alors il faut sortir complétement de notre 2eme test et passer aux 3eme.        
                                    */
                                    if (($j<$nb) OR ($statut==$tabStatutPermanent[$j])){     
                                         /*Donc, à partir d'ici, cela veut dire que soit on as cliquer sur le bouton "Nouveau permanent"
                                          ou bien que la personne sur laquelle on as cliquer dans notre page d'accueil etait une personne permanente
                                          Dans ce cas là, il faut rajotuer les options necessaires avec les valeurs de notre tableau.
                                           */
                                        for ($k=0; $k < $nb; $k++){
                                            echo"<option>$tabStatutPermanent[$k]</option>";
                                            $k=$k+1;
                                        }
                                    }
                              // fermeture du fichier (on aurait pu le fermer bien plus haut mais bon...)  
                              fclose($fp); 
                                }
    ?>
     
    </select>
    Donc voila... je suis vraiment désolé de tout ce code un peu farfelue... mais je n'arrive pas à voir où ca bloque enfaite...
    Merci à vous d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut
    Solution trouvé, mais en vu de la date du post, je suis incapable de fournir la solution. Désolé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. remplir une liste déroulante
    Par mademoizel dans le forum ASP
    Réponses: 19
    Dernier message: 08/03/2007, 17h33
  2. [Oracle] Remplir une liste déroulante avec une table
    Par CYCLOPE91440 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/12/2006, 16h26
  3. Réponses: 12
    Dernier message: 28/11/2006, 16h34
  4. Remplir une liste déroulante à partir d'un champ dans une pop up
    Par wiam26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/08/2006, 17h42
  5. [débutant] Remplir une liste déroulante
    Par Floch dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/05/2006, 14h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo