Rechercher : dans
Par :

Formulaire php

Dernière réponse le 19 jui 2007 à 11:05:07 laurent, le 17 jui 2003 à 10:09:47 
 Signaler ce message aux modérateurs

Je tiens a precisé que je suis débutant en php!

La question est la suivante :
J'ai 1 liste déroulante alimentée par une base de données et j'aimerai récupérer la valeur sélectionnée en php et je sais pas trop comment faire ???
Si quelqu'un sait ...

Meilleures réponses pour « formulaire php » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Ergonomie des formulaires en ligne VoirLes formulaires constituent un style d'interaction particulier qui comme les formulaires papier permettent de guider la saisie d'informations dans des champs spécifiques identifiés par des intitulés... Les formulaires permettent notamment de...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...

1

Nico, le 17 jui 2003 à 10:31:48

Tu souhaites récupérer la valeur sélectionnée dans ta liste déroulante :
la méthode :
tu as ta liste : <select name=liste> ... </select>
tu crés une fonction selection() que tu places dans la methode onchange de select : <select name=liste onchange="selection()">...
dans ta fonction selection() tu as :
<script>
function selection() {
// tu récupéres la valeur
val=document.form.liste.options[document.form.liste.selectedIndex].value
// tu fais ce que tu veux de val ensuite
}
</script>

voila c'est tout
A@++

Répondre à Nico

2

laurent, le 17 jui 2003 à 10:34:19

Merci
Mais on peut pas le faire en php, en utilisant $_POST['Nom_Select'] ????

Répondre à laurent

3

laurent, le 17 jui 2003 à 10:57:05

J'ai testé ce ke tu m'as donné mais ça ne fonctionne pas ça doit être a cause des valeurs :
val=document.form.liste.options[document.form.liste.selected­Index].value

A quoi correspond liste et pour form est ce que je mets le nom ? Si tu pouvais apporter plus de précisions merci

Répondre à laurent

4

Nico, le 17 jui 2003 à 11:02:18

Tu peux le faire en php, tu récupéres simplement la valeur du nom de ta liste comme tu le ferais pour un champs text.
$_POST["liste"] ou autre nom

sinon form c'est le nom du formulaire
et liste le nom de ta liste déroulante

Répondre à Nico

5

laurent, le 17 jui 2003 à 11:14:18

Je viens de tester avec ta premiere suggestion mais ca marche pas
j'ai ma liste et j'ai un bouton pour valider et lorsque l'on clique sur le bouton j'appelle la méthode, en gros ca donne :
<input type="button" name="Submit" value="Valider" onClick="javascript:selection();">
et la méthode selection :
function selection(){
// on récupére la valeur
alert("methode selection");
val = document.myform.Libelle.options[document.myform.Libelle.selectedIndex].value;
alert("la valeur est : "+val);
}
j'ai ajouté des "alert" pour vérifier parceke ca ne marchait pas

En fait quand j'excéute le programme : lorsque je clique sur le bouton ca me donne rien, il n'y a meme pas les fenetres alert et je sais pas pourquoi ???

Répondre à laurent

6

laurent, le 17 jui 2003 à 11:20:10

Oublies ce que j'ai noté juste avant, je viens de le faire en php et ça marche. MErci

Sinon j'ai une autre question
j'ai changé le boutn valider en un submit et quand je clique sur un élément de la liste déroulante, puis sur le bouton : il me réaffiche la page mais il perds ou il était cad que après dans la liste j'ai pour élément selectionné le premier élément. c'est kom si je ne l'avait pas choisit mais ca c'est a l'affichage parceke dans le programme c'est bon. Mais kom c'est un produit destiné a un client j'aimerai savoir s'il est possible de garder a l'affichage le choix selectionne avant d'avoir appuyé sur le bouton ???

Répondre à laurent

7

laurent, le 17 jui 2003 à 11:23:17

Sinon je voulais préciser que si je change le submit en bouton ca ne marche pas.

Répondre à laurent

8

laurent, le 17 jui 2003 à 12:28:37

Alors t'as pas d'idées pour mon problème ?

Répondre à laurent

9

laurent, le 17 jui 2003 à 14:08:51

Allo, y a qqn ????
j'ai vraiment besoin de ton aide donc si t'as une solution dis le moi stp

Répondre à laurent

10

kalamit, le 17 jui 2003 à 14:16:52

Doucement doucement, ca ne fait que peu de temps que tu as posté ta question, laisse le temps aux gens de répondre.

Pour ton probleme, il faut que tu passes en parametre toutes les valeurs de ton formulaire. (Soit par POST soit par GET).

Kalamit,
o(^_^)o

Répondre à kalamit

13

laurent, le 17 jui 2003 à 14:27:57

C'est déjà fait puisqu'en cliquant sur le bouton valider je récupère les valeurs saisies en php mais a l'affichage on les voit plus, tout est réinitialisé, c'est kom si j'avais fait un refresh !!!

Répondre à laurent

14

kalamit, le 17 jui 2003 à 14:38:02

Tu les as mis dans le champ value=$ma_donnees de chaque ligne de ton formulaire ?

Kalamit,
o(^_^)o

Répondre à kalamit

16

laurent, le 17 jui 2003 à 14:43:50

Mon code source pour le champ de texte est :

<form method = "post" action ="">
<p align="left">Entrez une valeur :
<input type="text" name="val" value =0>
<input type="submit" name="ValideV" value="Ok">
<?php
$res = traiteVal();
function traiteVal(){
if(!$_POST['NumAgent'])
$NumAgent = 0;
else
$NumAgent = $_POST['val'];
...
//acces à une base de données pour récupèrer des valeurs en fonction de la valeur saisies
}

Quand je clique sur valider, il me réaffiche la page mais y a plus rien dans le champ de texte val
par contre les valeurs récupérées par la base de données sont apparaissent (dans des champs textes)

Répondre à laurent

11

Nico, le 17 jui 2003 à 14:19:54

Désolé camarade, mais fallait manger.
comment garder ta sélection apres validation ?
tout d'abord, ta liste est elle statique ou vient elle d'une base de données.

Répondre à Nico

12

laurent, le 17 jui 2003 à 14:22:13

Elle vient d'une base de données
mais ca me fait ca avec d'autres elements de ma page .
Par exemple, j'ai un champ texte dans lequel on saisit une valeur et on valide avec un bouton de type submit. Quand je clique sur ce bouton valider la valeur saisie disparaît
et ca me fait la même chose avec cette liste déroulante, ...
voilà

Répondre à laurent

15

Nico, le 17 jui 2003 à 14:43:34

J'ai deux soluces :
en javascript :
<html>
<body>
Votre choix : <? echo $liste ?>
<br>

<form name=frm>
<select name=liste>
<option value=c1>choix1
<option value=c2 >choix2
<option value=c3>choix3
<option value=c4>choix4
</select>
<input type=submit value="ok">
<script>
for(i=0;i<document.frm.liste.options.length;i++) {

if(document.frm.liste.options[i].value=="<? echo $liste ?>") document.frm.liste.options[i].selected=true
}
</script>
</form>
</body>

</html>

en php :
qd tu construis ta liste grace à ta base, et bien tu testes chaque élément de ta base. Ainsi qd l'élement de ta base correspond à ta sélection tu fais un echo "selected".
ex:
<select name=liste>
<?
while($line=mysql_fetch_row$rs)) {
/// lecture de ta base
if($line[0]=='$liste') echo "<option value=".$line[0]." selected>".$line[0];
else echo "<option value=".$line[0]." >".$line[0];
}
?>
</select>

voila

Répondre à Nico

17

laurent, le 17 jui 2003 à 14:49:03

Oui merci, mais lis le dernier msg ke g ecrit ca répond pas réellement a ce ke je veux, les différentes valeurs de la liste déroulante s'affiche y a pas de problème par contre kan tu choisis une valeur t'as un curseur qui pointe sur la valeur saisie et kan tu cliques sur le bouton le curseur perd son information cad la valeur choisie auparavant mais ca c'est a l'affichage et je sais pas pourquoi c'est kom si j'avais fait un refresh

Répondre à laurent

18

Nico, le 17 jui 2003 à 15:26:49

<input type=text name=val value="<? echo $_POST['val'] ?>">

tu récupéres sa valeur, si elle est vire y a rien sinon sa valeur
voila

Répondre à Nico

19

laurent, le 17 jui 2003 à 16:12:13

Ok ca marche
mais avec une liste déroulante, tu fais ca comment ?

Répondre à laurent

20

Nico, le 17 jui 2003 à 16:23:50

Je te l'ai indiqué ci-dessus dans "j'ai deux soluces ...."

Répondre à Nico

21

laurent, le 18 jui 2003 à 09:41:31

Bonjour,
est-ce kil est possible de le faire avec des frames parceke dans mon bureau c ce kon m'a conseillé ?

Répondre à laurent

22

massata, le 21 jui 2003 à 14:55:06

Bonjour!!!!!!!
j'ai un formulaire en php mais j'arrive pas à récupérer les données venant du champ de texte mais aussi aussi à partir du choix avec la case à cocher.
En effet il crée l'enregistrement dans la base de données mais avec des valeurs égales à zéro.

Répondre à massata

23

Issam, le 19 jui 2007 à 11:04:38

Bonjour Nico

Dans ton code :

<select name=liste>
<?
while($line=mysql_fetch_row$rs)) {
/// lecture de ta base
if($line[0]=='$liste') echo "<option value=".$line[0]." selected>".$line[0];
else echo "<option value=".$line[0]." >".$line[0];
}
?>
</select>

tu mets quoi dans $liste stp?? Car je voudrais qu'après validation de l'élément dans ma lite déroulante, mon choix reste sélectionné. Merci

Répondre à Issam

24

 , le 19 jui 2007 à 11:05:07

Bonjour Nico

Dans ton code :

<select name=liste>
<?
while($line=mysql_fetch_row$rs)) {
/// lecture de ta base
if($line[0]=='$liste') echo "<option value=".$line[0]." selected>".$line[0];
else echo "<option value=".$line[0]." >".$line[0];
}
?>
</select>

tu mets quoi dans $liste stp??

Répondre à
Collection CommentÇaMarche.net