Remplissage d'un champ de texte grâce à une liste déroulant

Paolo 4
Invité n'ayant pas de compte PHPfrance

24 janv. 2006, 10:02

Bonjour,

Voila, j'ai un petit formulaire (form_modif.php) avec une liste déroulante.
Dans ma liste déroulante, j'ai créer une requête qui me fait apparaitre la liste des noms des personnes enregistré dans une base de données. Comment récupérer la valeur d'une liste déroulante (ici le nom de la personne selectionné) et l'afficher dans un champ de texte (Je voudrai le faire afficher dans mon champ de texte "text_nom_pers"). Ceci pour pouvoir modifier ainsi le nom de cette personne. Voici Mon code

Merci

Code : Tout sélectionner

<p> <select name="nom_pers"> <option selected value=""> ------ Séléction ------ <?php include ('connexion.php'); $sql = "SELECT nom_pers FROM tb_pers ORDER BY nom_pers"; $res = mysql_query($sql); while($val=mysql_fetch_array($res)) { echo "<option>".$val["nom_pers"]."</option>\n"; } ?> </select> </p> <p class="milieu-texte">Nom de la personne : <label> <input name="text_nom_pers" type="text" id="text_nom_pers"> </label> </p> ...
:wink:

Mammouth du PHP | 1029 Messages

24 janv. 2006, 10:31

Bonjour,
En suposant que ton formulaire s'appelle Formulaire.php.

tu selectionne le nom, puis via un petit javascript tu récupères le nom et l'insère dans ton input
<form id="formulaire_1" action="Formulaire.php" method="post">

 
        <select name="Nom" onchange="document.forms['formulaire_1'].submit();" >
        <option value="" selected </option>
<?php
/** fonction créant le menu déroulant des personne inscrite dans l'association*/
    $sql = "SELECT nom_pers FROM tb_pers ORDER BY nom_pers";
    $result = mysql_query($Connect, $sql);
    while ($row = mysql_fetch_array($result))
    {
        
        $valeur = $row["nom_pers "] ;
?>
          <option value=<?php echo($valeur); ?>><?php echo($valeur); ?></option>
<?php
    }
?>
        </select>
</p>
<p class="milieu-texte">Nom de la personne :
<label>
<input name="text_nom_pers" type="text" id="text_nom_pers" value=<?php echo $_POST['nom_pers'] ?>><?php echo $_Post[nom_pers] ?>
</label>
</p>      


L'expérience est la somme de toutes nos erreurs.

Paolo 4
Invité n'ayant pas de compte PHPfrance

24 janv. 2006, 11:06

Merci , c deja mieux, mais

Code : Tout sélectionner

document.forms['formulaire_1'].submit();
envoi directement mon formulaire ! alors que je voudrai que lorsque je choisi dans ma liste le nom d'une personne, ce nom apparaisse dans mon champ de texte 'text_nom_pers". Vois tu ce que je veut dire ??? Merci pout on aide

Mammouth du PHP | 1029 Messages

24 janv. 2006, 11:21

Désolé, je me suis trompé,

essaye ceci
<input name="text_nom_pers" type="text" id="text_nom_pers" value=<?php echo $_POST['Nom'] ?>><?php echo $_Post['Nom'] ?> 
L'expérience est la somme de toutes nos erreurs.

Paolo 4
Invité n'ayant pas de compte PHPfrance

24 janv. 2006, 11:29

Toujours pareils, il envoi directement mon formulaire ! alors que je voudrai que lorsque je choisi dans ma liste le nom d'une personne, ce nom apparaisse dans mon champ de texte 'text_nom_pers".
:( je suis desepérer! lol toujours pas ??

Mammouth du PHP | 1029 Messages

24 janv. 2006, 12:07

Est ce que le Form pointe bien vers ta page actuel.
<form id="formulaire_1" action="Formulaire.php" method="post"> 
as-tu bien remplacer Formulaire.php, par ton fichier avec le bon chemin?
L'expérience est la somme de toutes nos erreurs.

Invité
Invité n'ayant pas de compte PHPfrance

24 janv. 2006, 12:20

J'ai suivit ton conseil Maitrepylos le Form pointe bien vers ma page actuel maintenant, ce qui n'était pas le cas avant. merci, mais maintenant dans le champ tex_nom_pers, il m'affiche pas le nom que j'ai choisi dan sma liste mais le chiffre 1 pourquoi ???

Mammouth du PHP | 1029 Messages

24 janv. 2006, 12:22

remet le code en utilisant les balise php au lieu de code
L'expérience est la somme de toutes nos erreurs.

Paolo 4
Invité n'ayant pas de compte PHPfrance

24 janv. 2006, 12:29

Voici mon code :

Code : Tout sélectionner

<select name="nom_pers" onchange="document.forms['formulaire_1'].submit();" > <option value="" selected </option> <?php include ('connexion.php'); $sql = "SELECT nom_pers FROM tb_personne ORDER BY nom_pers"; $res = mysql_query($sql); while ($row = mysql_fetch_array($res)) { $valeur = $row["nom_pers"] ; ?> <option value=<?php echo($valeur); ?>><?php echo($valeur);?> </option> <?php } ?> </select> </p> <p class="milieu-texte">Nom personne : <label> <input name="text_nom_pers" type="text" id="text_nom_pers" value=<?php echo isset($_POST['nom_pers']) ?>> </label> </p>

Paolo 4
Invité n'ayant pas de compte PHPfrance

24 janv. 2006, 12:33

Oups désolé voila :
<select name="nom_pers" onchange="document.forms['formulaire_1'].submit();" >
<option value="" selected </option>

<?php
include ('connexion.php');
$sql = "SELECT nom_pers FROM tb_personne ORDER BY nom_pers";
$res = mysql_query($sql);
while ($row = mysql_fetch_array($res))
{
$valeur = $row["nom_pers"] ;
?>

<option value=<?php echo($valeur); ?>><?php echo($valeur);?>
</option>

<?php
}
?>

</select>
 </p>
<p class="milieu-texte">Nom personne :
 <label>
<input name="text_nom_pers" type="text" id="text_nom_pers" value=<?php echo isset($_POST['nom_pers']) ?>>
</label>

Mammouth du PHP | 1029 Messages

24 janv. 2006, 12:42

Le "isset" vérifie que ta variables $_POST['nom_pers'] contient quelques choses, comme c'est le cas il est passé a true donc "1", et comme on fais un echo pour voir la variable, il affiche donc "1", si tu enlèves le "isset" cela devrais fonctionner.
<input name="text_nom_pers" type="text" id="text_nom_pers" value=<?php echo ($_POST['nom_pers'])
L'expérience est la somme de toutes nos erreurs.

Paolo 4
Invité n'ayant pas de compte PHPfrance

24 janv. 2006, 12:48

Oui c'est ca ! Merci ca marche, il m'affiche juste ceci au début :

Code : Tout sélectionner

Undefined index: nom_sec in c:\program files\easyphp1-7\www\sitespip\form_modif_secteur.php on line 154
D'ou ca vient ? Merci pour ton aide ! :wink: [/code]

Paolo 4
Invité n'ayant pas de compte PHPfrance

24 janv. 2006, 12:50

J'ai tester sur un autre formulaire form_modif_secteur, mais ca marche aussi avec personne Merci , Toujours cette undefined index !

Mammouth du PHP | 1029 Messages

24 janv. 2006, 12:55

montre un peu avant la ligne 154 et un peu après.

Sinon je ne connais pas easyphp, mais ceci devrais te donner un début de réponse ici

Bonne chance
L'expérience est la somme de toutes nos erreurs.