Formulaire

Fermé
martha - 17 déc. 2004 à 16:28
 martha - 20 déc. 2004 à 11:09
bonjour,
comment fait-on quand on a 2 menu déroulant
je m'explique
j'ai un formulaire avec un 1er menu nommé liste qui contient 2 valeurs " campagne ete"
" campagne hiver"
et un autre nommé liste1
qui contient les valeurs "par destination"
"par vol"
aprés choix et validation j'execute
if ($liste =="Destination")
{
mais si je met
if ($liste1 =="campagne")
{
ca ne marche pas comment faut-il faire?
merci infinimment de vos réponses
martine

3 réponses

Bonjour Martine,

La variable $liste ou $liste1 ne contient pas "automatiquement" la valeur qui a été choisie dans ton formulaire. Tu dois passer par les variables globales $_POST ou $_GET, selon la method employé dans la balise form.

Après un click sur le bouton submit, $_POST("liste") et $_POST("liste1") seront existantes (utiliser $_GET si method="get" dans la balise form). $_POST("liste") contiendra alors "campagne ete" ou "campagne ete", qui correspond à la valeur de "value" de la balise option.

<option value="campagne ete">campagne ete</option>


http://www.nexen.net/docs/php/annotee/language.variables.external.form.php?lien=_post

J'espère que ça répond bien à ta question... (?)

Caroline
0
bonjour et merci pour la réponse mais il y a surement quelque chose que je fais mal
pourriez-vous regarder mon code j'ai abrégé

<? if ($liste == "Destination" || $liste == "Vol")
{
?>

<form method="POST" action="pv1.php" name="F1" onSubmit="return verif()">

<table width="50%" align="center" border="1" cellpadding="8" bordercolor="#003366">
<tr>
<td class="celtab"><?php echo $liste1 ?></td> <td>
<select size="1" name="liste2">
<option value="" selected>Sélectionnez</option>
<?php
switch($liste)
{


case "Destination":
$reqSelect1 = "SELECT num_dom, libelle_dom FROM DOM";
$resSelect1 = mysql_query($reqSelect1);
while($val = mysql_fetch_row($resSelect1))
echo "\t\t\t<option value=\"".$val[0]."\">".$val[1]."</option>\n";
break;

case "Vol":
$reqSelect = "SELECT num_aero, libelle_aero FROM AEROPORT_DEP";
$resSelect = mysql_query($reqSelect);
while($val = mysql_fetch_row($resSelect))
echo "\t\t\t<option value=\"".$val[0]."\">".$val[1]."</option>\n";
break;

}
?>
</select>

<input type="hidden" name="liste" value="<?php echo $liste; ?>" />
<input type="hidden" name="liste1" value="<?php echo $liste1; ?>" />
</td>
</table>
<table width="12%" border="0" cellspacing="0" cellpadding="2" align="center">
<tr align="center">
<td width="45%" >
<input type="submit" name="Submit" value="Valider" >
</td>
</tr>
</table>
</form>
</body>
</html>
<?php

exit();
}
?>


<body>


<form method="POST" action="menu_pv.php" name="F1" onSubmit="return verif()">

<p>
<table width="50%" align="center" border="1" cellpadding="8" bordercolor="#003366">
<tr>
<td class="celtab">Campagne</td>
<td>
<select size="1" name="liste1">
<option value="" selected>Sélectionnez</option>
<option value="Campagne_ete" >Par Campagne ete</option>
<option value="Campagne_hiver">Par Campagne hiver</option>
</select>
</td>
</table>
</table>
<p>
</table>
<p>
<br>
<table width="50%" align="center" border="1" cellpadding="8" bordercolor="#003366">
<tr>
<td class="celtab">Destination</td><td>
<select size="1" name="liste">
<option value="" selected>Sélectionnez</option>
<option value="Destination">Par Destination</option>
<option value="Vol">Par Vol</option>
</select>
</td>
</table>
<table width="12%" border="0" cellspacing="0" cellpadding="2" align="center"><tr align="center"> <td width="45%" ><input type="submit" name="Submit" value="Valider" >
</td>
</tr></table>
</form>
</body>
</html>
0
la suite de mon formulaire
<p class="titre1" align="center"> Liste <?php if($liste1 == $Campagne_ete) echo "été"; else echo "hiver"; ?>
</p>

<form method="post" name="F1" action="pv1.php">

<table width="100%" border="1" cellpadding="2" bordercolor="#003366" align="center">
<tr>

<td class="celtab">
<div align="center">Date de départ souhaitée</div>
</td>
<td class="celtab">
<div align="center">Nb de places adultes</div>
</td>
<td class="celtab">
<div align="center">Nb de places enfants</div>
</td>
<td class="celtab">
<div align="center">Nb de places bébés</div>
</td>
<td class="celtab">
<div align="center">Nb de places total</div>
</td>
</tr>
<?


print $liste1;
if (($liste1== $Campagne_ete || $liste1== $Campagne_hiver)&&($liste =="Destination"))
{


$query = "SELECT * FROM AGENT where nom_agent != '' or nom_agent is not null ";
$res = mysql_query($query,$db); print $query;
$ligne = mysql_num_rows($res);

while($row = mysql_fetch_array($res))
{
$enfant =0;
$enfant_2 = 0;
$adulte = 0;
$nom = $row[3];
$prenom = $row[4];
$date_dep_parent = $row[21];//21 est date_dep_souh dans la table
$date_dep_parent=substr($date_dep_parent,8,2)."-".substr($date_dep_parent,5,3).substr($date_dep_parent,0,4) ;

//Determination de Monsieur ou Madame
if($row[6] == "M")
{

$adulte = $adulte+1;
}
else
{

$adulte = $adulte+1;

}

$req = "SELECT * FROM CONJOINT WHERE num_agent = $row[0]";
$resu = mysql_query($req,$db);

$rang = mysql_fetch_row($resu);


if ($rang[1] != ''){
$adulte = $adulte+1;
}

$req = "SELECT * FROM ENFANT WHERE num_agent = $row[0]";
$resu = mysql_query($req,$db);
$nbLigne = mysql_num_rows($resu);

while($rang = mysql_fetch_row($resu))
{
$date_nais= $rang[4];
$date_dep= $rang[5];

//---------------------------Recuperation d'un ecart de 2 ans------------------------------------------------------------
$ecart2 = mktime(0,0,0,1,1,1972);

//-----------------Determination de la date de naissance au format PHP-----------------------------------------
list($aNAIS_temp,$mNAIS_temp,$jNAIS_temp) = explode("-",$date_nais);
list($aDEP_temp,$mDEP_temp,$jDEP_temp) = explode("-",$date_dep);

//------------------On enlève les zéros inutiles--------------------------------------------------------------------
$mNAIS = (int) $mNAIS_temp;
$jNAIS = (int) $jNAIS_temp;
$aNAIS = (int) $aNAIS_temp;
$mDEP = (int) $mDEP_temp;
$jDEP = (int) $jDEP_temp;
$aDEP = (int) $aDEP_temp;


//---------------------on calcule les nombre de secondes écoulées------------------------------------------------------
$NAIS = mktime(0,0,0,$mNAIS,$jNAIS,$aNAIS);
$DEP = mktime(0,0,0,$mDEP,$jDEP,$aDEP);

//ON TESTE SI L'ENFANT A MOINS DE DEUX ANS AU MOMENT DU DEPART
if($DEP - $NAIS < $ecart2)
{

$enfant_2 = $enfant_2+1;

}
else
{

$enfant = $enfant+1;

}

?>

<tr>

<td class="celtab"><?php print $date_dep_parent ?></td>
<td class="celtab"><?php print $adulte ?></td>
<td class="celtab"><?php print $enfant ?></td>
<td class="celtab"><?php print $enfant_2 ?></td>



</tr>
<?
}
}
}


else
{
if ($liste =="Vol")
{
//requete pour la destination
$query = "SELECT libelle_aero FROM AEROPORT_DEP WHERE libelle_aero = '$liste2'";
$result = mysql_query($query,$db);

$val = mysql_fetch_row($result);
$query = "SELECT * FROM AGENT where nom_agent != '' or nom_agent is not null ";
$res = mysql_query($query,$db);
$ligne = mysql_num_rows($res);

while($row = mysql_fetch_array($res))
{
$enfant =0;
$enfant_2 = 0;
$adulte = 0;
$nom = $row[3];
$prenom = $row[4];
$date_dep_parent = $row[21];//21 est date_dep_souh dans la table
$date_dep_parent=substr($date_dep_parent,8,2)."-".substr($date_dep_parent,5,3).substr($date_dep_parent,0,4) ;

//Determination de Monsieur ou Madame
if($row[6] == "M")
{

$adulte = $adulte+1;
}
else
{

$adulte = $adulte+1;

}

$req = "SELECT * FROM CONJOINT WHERE num_agent = $row[0]";
$resu = mysql_query($req,$db);

$rang = mysql_fetch_row($resu);


if ($rang[1] != ''){
$adulte = $adulte+1;
}

$req = "SELECT * FROM ENFANT WHERE num_agent = $row[0]";
$resu = mysql_query($req,$db);
$nbLigne = mysql_num_rows($resu);

while($rang = mysql_fetch_row($resu))
{
$date_nais= $rang[4];
$date_dep= $rang[5];

//---------------------------Recuperation d'un ecart de 2 ans------------------------------------------------------------
$ecart2 = mktime(0,0,0,1,1,1972);

//-----------------Determination de la date de naissance au format PHP-----------------------------------------
list($aNAIS_temp,$mNAIS_temp,$jNAIS_temp) = explode("-",$date_nais);
list($aDEP_temp,$mDEP_temp,$jDEP_temp) = explode("-",$date_dep);

//------------------On enlève les zéros inutiles--------------------------------------------------------------------
$mNAIS = (int) $mNAIS_temp;
$jNAIS = (int) $jNAIS_temp;
$aNAIS = (int) $aNAIS_temp;
$mDEP = (int) $mDEP_temp;
$jDEP = (int) $jDEP_temp;
$aDEP = (int) $aDEP_temp;


//---------------------on calcule les nombre de secondes écoulées------------------------------------------------------
$NAIS = mktime(0,0,0,$mNAIS,$jNAIS,$aNAIS);
$DEP = mktime(0,0,0,$mDEP,$jDEP,$aDEP);

//ON TESTE SI L'ENFANT A MOINS DE DEUX ANS AU MOMENT DU DEPART
if($DEP - $NAIS < $ecart2)
{

$enfant_2 = $enfant_2+1;

}
else
{

$enfant = $enfant+1;

}



?>

<tr>

<td class="celtab"><?php print $date_dep_parent ?></td>
<td class="celtab"><?php print $adulte ?></td>
<td class="celtab"><?php print $enfant ?></td>
<td class="celtab"><?php print $enfant_2 ?></td>



</tr>
<?
}
}
}
}

?>
</table>
</form>
</body>
</html>

résultat j'ai tout les agents de la base qui est faut!!!

merci pour une réponse
0