OVH Cloud OVH Cloud

PHP avec Select ?

6 réponses
Avatar
Otto Haldi
J'ai un formulaire d'on la sélection est généré par une
requète MySQL. Je désire maintenant que l'action se déroule
immédiatement après avoir sélectionné un choix sans avoir à
cliquer sur le bouton généré par l'input.
Y-a-t'il quelqu'un qui puisse me dire comment faire?

Voici le partie formulaire de mon script php.

..
<Form method="post" target="main" action="he_adr.php">
&nbsp;<input type="submit" value=" " name="sent">
<select size='1' name='sfamille' size="20">
<?php
// Query pour affiche le tableau des familles
$requete = "select FAMILLE from famille";
$resulta = mysql_query($requete);
$num = 0;
while ($ligne = mysql_fetch_array($resulta, MYSQL_ASSOC))
{
echo ('<option>'.$ligne['FAMILLE'].'</option>');
$num++;
}
?>
</select>
</form>
..

6 réponses

Avatar
CrazyCat
Otto Haldi wrote:
J'ai un formulaire d'on la sélection est généré par une
requète MySQL. Je désire maintenant que l'action se déroule
immédiatement après avoir sélectionné un choix sans avoir à
cliquer sur le bouton généré par l'input.
<select size='1' name='sfamille' size="20">


<select size='1' name='sfamille' size="20" onchange="submit();">

--
CrazyCat from C-P-F.org

Avatar
Alexandre Havard
Otto Haldi wrote:
J'ai un formulaire d'on la sélection est généré par une
requète MySQL. Je désire maintenant que l'action se déroule
immédiatement après avoir sélectionné un choix sans avoir à
cliquer sur le bouton généré par l'input.


Bonjour,

Si j'ai bien compris, vous désirez qu'en sélectionnant un élément du
select, il se produise le même effet qu'un submit.

Il s'agit dans ce cas de Javascript et non de PHP. Il suffit de donner
un nom au formulaire

<form method="post" target="main" action="he_adr.php" name="form1">


et d'utiliser la méthode OnChange pour qu'il soit envoyé dès qu'un
élément est sélectionné :

<select size='1' name='sfamille' size="20" OnChange="form1.submit();">


--
Cordialement,
Alexandre Havard

Avatar
tetsuo
CrazyCat wrote:

Otto Haldi wrote:

J'ai un formulaire d'on la sélection est généré par une
requète MySQL. Je désire maintenant que l'action se déroule
immédiatement après avoir sélectionné un choix sans avoir à
cliquer sur le bouton généré par l'input.
<select size='1' name='sfamille' size="20">



<select size='1' name='sfamille' size="20" onchange="submit();">

les valeur des attribut html DOIVENT etre entouré de double quote ... et de

rien d autre...


Avatar
Otto Haldi
<select size='1' name='sfamille' size="20" OnChange="form1.submit();">


Merci à tous, c'était exactement cela qu'il me falait.


Meilleures salutations

Otto


Avatar
"Otto Haldi" a écrit dans le message de news:

J'ai un formulaire d'on la sélection est généré par une
requète MySQL. Je désire maintenant que l'action se déroule
immédiatement après avoir sélectionné un choix sans avoir à
cliquer sur le bouton généré par l'input.
Y-a-t'il quelqu'un qui puisse me dire comment faire?

Voici le partie formulaire de mon script php.


Bonjour,

Une solution possible est de valider le formulaire via une fonction
javascript.
Ci dessous votre script avec les modifs (modifs mise en évidence entre [[
et ]] )


<Form method="post" [[ name="formulaire" ]] target="main"
action="he_adr.php">
&nbsp;<input type="submit" value=" " name="sent" [[
onChange="document.formulaire.submit();" ]]>
<select size='1' name='sfamille' size="20">
<?php
// Query pour affiche le tableau des familles
$requete = "select FAMILLE from famille";
$resulta = mysql_query($requete);
$num = 0;
while ($ligne = mysql_fetch_array($resulta, MYSQL_ASSOC))
{
echo ('<option>'.$ligne['FAMILLE'].'</option>');
$num++;
}
?>
</select>
</form>

Julien.

Avatar
Denis Moiron
Le 30 Oct 2003 14:05:55 GMT
Otto Haldi écrivait :

J'ai un formulaire d'on la sélection est généré par une
requète MySQL. Je désire maintenant que l'action se déroule
immédiatement après avoir sélectionné un choix sans avoir à
cliquer sur le bouton généré par l'input.
Y-a-t'il quelqu'un qui puisse me dire comment faire?

Voici le partie formulaire de mon script php.

..
<Form method="post" target="main" action="he_adr.php">
&nbsp;<input type="submit" value=" " name="sent">
<select size='1' name='sfamille' size="20">
<?php
// Query pour affiche le tableau des familles
$requete = "select FAMILLE from famille";
$resulta = mysql_query($requete);
$num = 0;
while ($ligne = mysql_fetch_array($resulta, MYSQL_ASSOC))
{
echo ('<option>'.$ligne['FAMILLE'].'</option>');
$num++;
}
?>
</select>
</form>


Un ptit coup de javascript pour ça (meme si c'est pas le sujet ici) :
dans ton <select> ajoute : onchange="javascript:this.form.submit();"

les actions sur une page une fois envoyée par le serveur ne pouvant
etre prise en charge qu'avec javascript.
Poursuivre sur fr.comp.lang.javascript s'il y a une suite à donner je
pense.

Denis