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.
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
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
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>
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>
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
<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