Formulaire

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

  1. car0
     
    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
  2. martha
     
    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
  3. martha
     
    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