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 :

Transmission info d'un formulaire à taille dynamique


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Transmission info d'un formulaire à taille dynamique
    Bonjour,

    Mon problème est certainement assez simple à régler pour un codeur chevronné, ce que je ne suis pas. Je me casse les dents sur un petit truc que je n'arrive pas à régler.

    Dans le cadre d'un projet, je dois générer un formulaire avec un nombre variable de listes déroulantes. Le nombre doit être variable en fonction du nombre de lignes remplies dans un fichier, je commence donc par lire le fichier et générer une boucle While qui me crée le nombre de listes désiré, voici le code, en html et php :

    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
     
      <form name="formComparaison"
          method="post"
          action="test2.php?identifiant=<?php echo $identifiant;?>" >
     
    &nbsp;<u><strong>Veuillez choisir vos réponses : </strong></u>
    <br/>
    <br/>
     
    <?php
     
    // initialisation du numero de marqueur
    $mkn=0;
    // ouverture du  fichier .rcfh de correction
    $traceSelect=fopen("$identifiant".'h','r+');
    // lecture du nombre de ligne du fichier .rcfh, suivie de la génération du nombre de champs correspondant
    while (!feof($traceSelect))
        {
              $lineContent = fgets($traceSelect);
              if($lineContent != '')
                  {
                      $mkn=$mkn+1;
                      echo '&nbsp;'.'Marqueur '.$mkn.' : <select name="'.$mkn.'" size="0"/>                                         
                                                    <option value="0" > --- Sélectionner --- </option>
                                                    <option value="1" > Rythme sinusoïdal </option>
                                                    <option value="2" > Début bradychardie </option>
                                                    <option value="3" > Fin bradychardie </option>
                                                    <option value="4" > Deb tachycardie </option>
                                                    <option value="5" > Fin tachycardie </option>
                                                    <option value="6" > Début VLT haute </option>
                                                    <option value="7" > Fin VLT haute </option>
                                                    <option value="8" > Début VLT faible </option>
                                                    <option value="9" > Fin VLT faible </option>
                                                    <option value="10" > Début VLT absente </option>
                                                    <option value="11" > Fin VLT absente </option>
                                                    <option value="12" > Précosse </option>
                                                    <option value="13" > Tardif </option>
                                                    <option value="14" > Variable typique modéré </option>
                                                    <option value="15" > Variable typique sévère </option>
                                                    <option value="16" > Variable Atypique </option>
                                                    <option value="17" > Prolongé <= 3min </option>
                                                    <option value="18" > Prolongé > 3min </option>
                                                    <option value="19" > Accélération </option>
                                                    <option value="20" > Début expulsion </option>
                                                    <option value="21" > Amnio infusion </option>
                                                    <option value="22" > Dilatation </option>
                                                    <option value="23" > pHiu </option>
                                                    <option value="24" > Divers </option>
                                                </select>'.'<br/><br/>';
     
                  }
        }
        fclose($traceSelect);
     
    ?>
    Jusque-là, ça va. C'est ensuite que ça se corse. Sur le fichier test2.php nommé dans le champ "action" je veux transmettre les réponses choisies dans les listes déroulantes via la méthode POST pour les entrer dans une table MySQL, il faut donc générer une boucle pour ce faire, mais je n'arrive pas à faire le code correctement.

    J'essaie dans un premier temps de récupérer le nombre de listes de la variable $mkn pour pouvoir définir la borne supérieure de ma boucle.

    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
     
    <?php
     
    $connexion=mysql_connect("localhost","root","") or die ("Probl&egrave;me de connection");
    mysql_select_db("outilrecorcf",$connexion) or die ("Probl&egrave;me de sélection");
     
    $mkn=$_POST[$mkn];
     
    for($n=1;$n<=$mkn;$n++)
        {
              $mark$n=$_POST[$n];
              $entreeReponse = mysql_query("INSERT INTO reponses(reponse) values ('$mark$n')");
        }
     
    ?>
    Voilà ! Il y a un truc que je ne fais pas bien, je pense notamment que je passe mal la variable $mkn d'un fichier à l'autre et que je gère mal les noms de variables dans mes $_POST. Si quelqu'un peut me filer un petit coup de pouce, ça serait super sympa. Merci d'avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    Utilise un tableau (array) pour le name de ton select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="monSelect[]" size="0"/>
    pour récupérer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (isset($_POST["monSelect"])){
       foreach($_POST["monSelect"] as $index=>$value){
            echo $index.": ".$value."<br/>";
       }
     
    }
    A+.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Ca marche !

    Sincèrement merci !

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

Discussions similaires

  1. [MySQL] [mysql] Comment bien stocker les infos d'un formulaire dynamique ?
    Par padjoy dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/11/2010, 19h28
  2. [Prototype] Formulaire à taille dynamique
    Par huguette dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 07/03/2008, 01h57
  3. Formulaire avec taille dynamique
    Par steps5ive dans le forum IHM
    Réponses: 2
    Dernier message: 13/03/2007, 20h50
  4. taille dynamique des cases dans état
    Par exter666 dans le forum Access
    Réponses: 14
    Dernier message: 09/09/2005, 15h30
  5. [JTABLE] taille dynamique = F°(String.length)
    Par tripop dans le forum Composants
    Réponses: 15
    Dernier message: 13/01/2005, 17h07

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