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 :

Problème avec des champs de formulaire


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 72
    Par défaut Problème avec des champs de formulaire
    Bonjour,
    Je me trouve devant un problème qui me pose un réel souci afin de pouvoir avancer dans une application.

    Objectif : Le but a atteindre est d'avoir 2 listes déroulantes (une pour récupérer un nom et une deuxième pour le prénom correspondant).
    La première liste va prendre les informations dans une table. La deuxième est 'fabriquée' en fonction du choix dans la première.

    Problème rencontré : Si jamais il existe des homonymes (durand, dupont ou autre), lors du choix dans la deuxième liste (celle du prénom donc) le prénom choisi n'est pas conservé et il est remplacé par le dernier prénom saisi ...

    Place au code :
    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
    <?php
    // déclaration requete sql 
    $req_nom="SELECT DISTINCT nom from table_individu WHERE date_sortie = '0000-00-00' ORDER BY nom";
    $res_req_nom=mysql_query($req_nom) or die ("Exécution de la requête impossible");
     
    //Création liste déroulante contentant les noms présents 
    echo'<form method="post" action=""><select name="nom" style="width:200px" onchange="this.form.submit();"><option></option>';
    while($ligne=mysql_fetch_array($res_req_nom))
    	{
              extract($ligne);
    	  if ($nom<>"")
    	  {
                    if(isset($_POST['nom']) && $_POST['nom']==$nom)
                      $defaut="selected";
                    else $defaut="";
    		echo "<option value='$nom' $defaut>$nom</option>\n";
    	  }
    	}
    	echo "</select>\n";
    echo "</form>";
    ?>     </td>
        </tr>
        <tr>
         <td width="195"><span class="Style9">Prénom :</span></td>
         <td width="135">
    <?php
    $nom = $_POST['nom'];
     
    // déclaration requete sql 
    if (isset($_POST['nom']))
    {
        $req_prenom="SELECT DISTINCT prenom FROM table_individu WHERE nom='".$_POST["nom"]."' ORDER BY prenom";  	
    }
    else 
    {
        $req_prenom="SELECT prenom FROM table_individu";
    } 
    $res_req_prenom=mysql_query($req_prenom) or die ("Exécution de la requête impossible"); 
    ?>
    <?php
    //Création liste déroulante contentant les prénoms en fonction du choix du nom
     
    echo'<form method="post" action=""><select name="prenom" style="width:200px" onchange="this.form.submit();"><option></option>';
     
    while($ligne=mysql_fetch_array($res_req_prenom))
    	{extract($ligne);
    	if ($prenom<>"")
    	{
                    if(isset($_POST['prenom']) && $_POST['prenom']==$prenom)
                      $defaut="selected";
                    else $defaut="";
    		echo "<option value='$prenom' $defaut>$prenom</option>\n";
    	  }
    	}
    	echo "</select>\n";
    ?>
    <input type="hidden" value="<?php echo $nom ; ?>" name="nom" />
    <input type="hidden" value="<?php echo $prenom ; ?>" name="prenom" />
    <?php
    echo "</form>";
    Comme vous pouvez le voir, j'utilise une seule table qui contient les informations sur les identités...

    Si quelqu'un pouvait m'aider à découvrir mon erreur car là, j'avoue me faire mal aux yeux dessus sans rien trouver

    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut
    Bonjour,

    J'ai pas bien compris le problème à la réception des formulaires mais ce qui est sur c'est que dans ton deuxième formulaire tu as 2 champs "prenom", celui du select et celui du hidden. A la réception $_POST["prenom"] sera celui du champ hidden et non le select.

    Quel est l'intérêt d'avoir 2 formulaires séparés ??

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 72
    Par défaut
    En fait, je voulais afficher la page en direct sans bouton de soumission de formulaire.
    D'où la présence de 2 formulaires.
    Si on fait une sélection sur le premier select, il y a rechargement de page et création de la liste du deuxième select.
    En faisant un choix dans le deuxième, on recharge la page et on traite les données choisies.
    J'ai donc supprimé le dernier rechargement et mis un bouton simple de soumission.
    Moins 'joli' mais le projet étant un peu pressé, je n'ai pas trop le temps de faire dans le beau...
    J'apporterai les corrections plus tard ainsi que les détails de fonctionnement.
    Pour le moment, l'application doit sortir au plus vite alors on fait dans le fonctionnelle
    Mais merci à toi

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

Discussions similaires

  1. [2005] Problème avec des champs varchar(max) illisibles
    Par Rhoce dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/02/2015, 15h01
  2. [AC-2007] problème avec des champs null
    Par rominous41 dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 23/05/2011, 16h03
  3. [FORMULAIRE]Problème avec des Formulaires
    Par choups76 dans le forum IHM
    Réponses: 17
    Dernier message: 12/04/2007, 13h27
  4. formulaire avec des champs multiples
    Par don'de dans le forum Struts 1
    Réponses: 13
    Dernier message: 16/02/2007, 10h42
  5. [XHTML] Problème avec les champs obligatoires d'un formulaire
    Par elodie13 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 26/09/2006, 15h45

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