Posez votre question Signaler

Formulaire php

laurent - Dernière réponse le 19 juil. 2007 à 11:05
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 ...
Lire la suite 

Formulaire php »

24 réponses
Réponse
+0
moins plus
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@++
laurent - 17 juil. 2003 à 14:27
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 !!!
kalamitkalamit - 17 juil. 2003 à 14:38
Tu les as mis dans le champ value=$ma_donnees de chaque ligne de ton formulaire ?

Kalamit,
o(^_^)o
laurent - 17 juil. 2003 à 14:43
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)
Ajouter un commentaire
Réponse
+0
moins plus
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.
laurent - 17 juil. 2003 à 14:22
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à
Ajouter un commentaire
Réponse
+0
moins plus
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
laurent - 17 juil. 2003 à 14:49
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
Ajouter un commentaire
Réponse
+0
moins plus
<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
laurent - 17 juil. 2003 à 16:12
ok ca marche
mais avec une liste déroulante, tu fais ca comment ?
Ajouter un commentaire
Réponse
+0
moins plus
je te l'ai indiqué ci-dessus dans "j'ai deux soluces ...."
laurent - 18 juil. 2003 à 09:41
Bonjour,
est-ce kil est possible de le faire avec des frames parceke dans mon bureau c ce kon m'a conseillé ?
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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??
Ajouter un commentaire
Ce document intitulé « formulaire php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook