pb gerer 3 liste deroulante avec des if

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb gerer 3 liste deroulante avec des if

Re: pb gerer 3 liste deroulante avec des if

par baka54 » 18 mai 2011, 13:38

Ok cool merci je bosse sur ce que tu viens de me donnée, et sa marche niquel cro wouhouuuuu merci :)

Re: pb gerer 3 liste deroulante avec des if

par xTG » 18 mai 2011, 08:15

C'est quoi ces balises <a> dans les options ? :roll:
Et l'attribut name dans tes selects ?

Sinon c'est sûr que cela va te donner de jolies conditions... Il aurait sans doute mieux valu travailler sur une requête formée dynamiquement.
if( isSet($_GET['villes']) && isSet($_GET['secteur']) && isSet($_GET['']) )
{
  if( $_GET['villes'] == "ville1" )
  {
    if( $_GET['secteur'] == "sec1" )
    {
      if( $_GET['postes'] == "poste1" )
      {
        include("include1.php");
      }
      //...
    }
    elseif( $_GET['secteur'] == "sec2" )
    {
      //...
    }
    //...
  }
  elseif( $_GET['villes'] == "ville2" )
  {
    //...
  }
  //...
}
On voit tout de suite que cela va être très très laborieux et très infect à maintenir... :non:

Bref il faut changer de tactique sinon on va pas s'en sortir...
Une requête dynamique ? Eh oui ! :mrgreen:
Si tu transmets dans le premier select comme value "lyon", dans le second "Audit externe" et dans le troisième "Audit / Conseil" =>
$query = "SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM $ville where secteur = '$secteur' AND postes = '$postes' ORDER BY date";
Et là on gère tout grâce à la requête. ;)
Et pour gérer les erreurs rien de plus simple : un petit array avec les valeurs autorisées :
$villesAutorises = array("lyon", "Saint-Etienne");
if( in_array($ville, $villesAutorises) )
{
  echo "La ville est ok";
}
else
{
  echo "une erreur s'est produite, cette ville n'existe pas !";
}
Et voilà, te restes plus qu'à bien décortiquer et comprendre mon pâté et à l'adapter. :D

Re: pb gerer 3 liste deroulante avec des if

par baka54 » 17 mai 2011, 20:31

oups petit souci dans une liste de mon scripte qui va afficher mes info de ma base de donnée :) que je viend de corriger:

$query = "SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM lyon where secteur = 'Audit / Conseil' AND postes = 'Audit externe' ORDER BY date";

pb gerer 3 liste deroulante avec des if

par baka54 » 17 mai 2011, 20:26

Bonsoir ou bonjour tout le monde,
alors me revoilà a nouveau avec un petit souci,j'annonce la couleur lol:

j'ai 3 liste déroulante:

1 ère : liste de villes
2eme : liste de secteur d'activité
3eme : liste de type de postes

pour les voici en détail mon code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" id="myform" method="get">
<p class="nomvilles">Département</p>
<SELECT id="villes">
<OPTION SELECTED>- Choisir -
<OPTION VALUE="ville1"><a href="emploi.php?villes=villes1">Lyon</a>
<OPTION VALUE="ville2">Saint-Étienne
<OPTION VALUE="ville3">Grenoble
<OPTION VALUE="ville4">Villeurbanne
<OPTION VALUE="ville5">Valence
<OPTION VALUE="ville6">Vénissieux
<OPTION VALUE="ville7">Chambéry
<OPTION VALUE="ville8">Annecy
<OPTION VALUE="ville9">Caluire-et-Cuire
<OPTION VALUE="ville10">Saint-Priest
<OPTION VALUE="ville11">Bourg-en-Bresse
<OPTION VALUE="ville12">Vaulx-en-Velin
<OPTION VALUE="ville13">Roanne
<OPTION VALUE="ville14">Saint-Chamond
<OPTION VALUE="ville15">Bron
<OPTION VALUE="ville16">Saint-Martin-d'Hères
<OPTION VALUE="ville17">Échirolles
<OPTION VALUE="ville18">Romans-sur-Isère
<OPTION VALUE="ville19">Montélimar
<OPTION VALUE="ville20">Villefranche-sur-Saône
<OPTION VALUE="ville21">Vienne
<OPTION VALUE="ville22">Thonon-les-Bains
<OPTION VALUE="ville23">Rillieux-la-Pape
<OPTION VALUE="ville24">Meyzieu
<OPTION VALUE="ville25">Annemasse
<OPTION VALUE="ville26">Aix-les-Bains
<OPTION VALUE="ville27">Oullins
<OPTION VALUE="ville28">Oyonnax
<OPTION VALUE="ville29">Décines-Charpieu
<OPTION VALUE="ville30">Fontaine
<OPTION VALUE="ville31">Bourgoin-Jallieu
<OPTION VALUE="ville32">Sainte-Foy-lès-Lyon
<OPTION VALUE="ville33">Voiron
<OPTION VALUE="ville34">Firminy
<OPTION VALUE="ville35">Saint-Genis-Laval
<OPTION VALUE="ville36">Annecy-le-Vieux
<OPTION VALUE="ville37">Meylan
<OPTION VALUE="ville38">Givors
<OPTION VALUE="ville39">Bourg-lès-Valence
<OPTION VALUE="ville40">Écully
</SELECT>

<br /></br />

<p class="nomsecteur">Secteur d'activité</p>
<SELECT  id="secteur">
<OPTION VALUE="" SELECTED>- Choisir -
<OPTION VALUE="sec1"><a href="emploi.php?sec=sec1">Assurances</a>
<OPTION VALUE="sec2">Audit / Conseil
<OPTION VALUE="sec3">Banque
<OPTION VALUE="sec4">BTP
<OPTION VALUE="sec5">Communication / Publicité / Arts graphiques
<OPTION VALUE="sec6">Culture / Tourisme / Sport
<OPTION VALUE="sec7">Direction Générale
<OPTION VALUE="sec8">Environnement
<OPTION VALUE="sec9">Etudes / RD / Ingénierie
<OPTION VALUE="sec10">Finances / Comptabilité / Audit
<OPTION VALUE="sec11">Gestion administrative
<OPTION VALUE="sec12">Immobilier
<OPTION VALUE="sec13">Informatique /Télécoms / Multimédia
<OPTION VALUE="sec14">Juridique / Fiscal
<OPTION VALUE="sec15">Logistique / Achats / Transport
<OPTION VALUE="sec16">Marketing
<OPTION VALUE="sec17">Production / Qualité / Sécurité
<OPTION VALUE="sec18">Ressources Humaines / Personnel / Formation
<OPTION VALUE="sec19">Restauration / Hôtellerie
<OPTION VALUE="sec20">Santé / Social
<OPTION VALUE="sec21">Vente / Distribution / Import / Export
</SELECT>

<br /></br />
<p class="nompostes">Types de poste</p>
<SELECT id="postes">
<OPTION VALUE="" SELECTED>- Choisir -
<OPTION VALUE="poste1" class="place1"><a href="emploi.php?postes=postes1"> Audit externe</a>
<OPTION VALUE="poste2" class="place2"> Audit interne 
<OPTION VALUE="poste3" class="place3"> Autres fonctions Audit / Conseil 
<OPTION VALUE="poste4" class="place4"> Conseil en droit / fiscalité 
<OPTION VALUE="poste5" class="place5"> Conseil en finances 
<OPTION VALUE="poste6" class="place6"> Conseil en management / stratégie / organisation 
<OPTION VALUE="poste7" class="place7"> Conseil en marketing / Commerce / Communication 
<OPTION VALUE="poste8" class="place8"> Conseil en NTIC et systèmes d’information 
<OPTION VALUE="poste9" class="place9"> Conseil en ressources humaines / Recrutement
<OPTION VALUE="poste10" class="place10"> Actuariat, Etudes
<OPTION VALUE="poste11" class="place11"> Autres fonctions Assurance
<OPTION VALUE="poste12" class="place12"> Contrôle technique et prévention 
<OPTION VALUE="poste13" class="place13"> Gestion des contrats d’assurance 
<OPTION VALUE="poste14" class="place14"> Vente de contrats d’assurance 
<OPTION VALUE="poste15" class="place15"> Analyse financière 
<OPTION VALUE="poste16" class="place16"> Autres fonctions bancaires 
<OPTION VALUE="poste17" class="place17">Banque de détail 
<OPTION VALUE="poste18" class="place18">Crédit Management / Risques 
<OPTION VALUE="poste19" class="place19">Financement / Investissements 
<OPTION VALUE="poste20" class="place20">Conduite de travaux 
<OPTION VALUE="poste21" class="place21">Pilotage de chantiers 
<OPTION VALUE="poste22" class="place22">Etudes techniques 
<OPTION VALUE="poste23" class="place23">Ouvriers BTP 
<OPTION VALUE="poste24" class="place24">Ouvriers Gros œuvre et TP 
<OPTION VALUE="poste25" class="place25">Ouvriers second œuvre 
<OPTION VALUE="poste26" class="place26">Autres fonctions BTP 
<OPTION VALUE="poste27" class="place27">Design industriel 
<OPTION VALUE="poste28" class="place28">Direction artistique, Création 
<OPTION VALUE="poste29" class="place29">Direction de la Communication 
<OPTION VALUE="poste30" class="place30">Communication interne / Externe 
<OPTION VALUE="poste31" class="place31">Conception / Création / Graphisme / PAO 
<OPTION VALUE="poste32" class="place32">Journalisme 
<OPTION VALUE="poste33" class="place33">Imprimerie 
<OPTION VALUE="poste34" class="place34">Mode Accessoires 
<OPTION VALUE="poste35" class="place35">Relations publiques 
<OPTION VALUE="poste36" class="place36">Traduction / Rédaction technique 
<OPTION VALUE="poste37" class="place37">Photographie / Vidéo 
<OPTION VALUE="poste38" class="place38">Webdesign  Ergonomie 
<OPTION VALUE="poste39" class="place39">Autres fonctions Comm. Pub / Arts graphiques 
<OPTION VALUE="poste40" class="place40">Professions de la culture et du spectacle 
<OPTION VALUE="poste41" class="place41">Professions du tourisme 
<OPTION VALUE="poste42" class="place42">Professions du sport 
<OPTION VALUE="poste43" class="place43">Autres fonctions Culture / Tourisme / Sport
<OPTION VALUE="poste44" class="place44">Président directeur général 
<OPTION VALUE="poste45" class="place45">Directeur général / Directeur Général adjoint 
<OPTION VALUE="poste46" class="place46">Direction filiale / Centre de profits 
<OPTION VALUE="poste47" class="place47">Secrétaire général 
<OPTION VALUE="poste48" class="place48">Manager 
<OPTION VALUE="poste49" class="place49">Autres fonctions Direction Générale 
<OPTION VALUE="poste50" class="place50">Agriculture 
<OPTION VALUE="poste51" class="place51">Cadres de vie 
<OPTION VALUE="poste52" class="place52">Conseil / Sensibilisation 
<OPTION VALUE="poste53" class="place53">Gestion des risques 
<OPTION VALUE="poste54" class="place54">Gestion des déchets 
<OPTION VALUE="poste55" class="place55">Gestion des sols 
<OPTION VALUE="poste56" class="place56">Autres fonctions de l’environnement 
<OPTION VALUE="poste57" class="place57">Direction 
<OPTION VALUE="poste58" class="place58">Brevets / Marques 
<OPTION VALUE="poste59" class="place59">Etudes Conception Essais 
<OPTION VALUE="poste60" class="place60">Etudes scientifiques et recherche fondamentale 
<OPTION VALUE="poste61" class="place61">Projets, affaires 
<OPTION VALUE="poste62" class="place62">Urbanisme / Architecture / Génie civil 
<OPTION VALUE="poste63" class="place63">Statistiques / Etudes socio-économiques 
<OPTION VALUE="poste64" class="place64">Autres fonctions Etudes, RD, Urbanisme 
<OPTION VALUE="poste65" class="place65">Direction financière 
<OPTION VALUE="poste66" class="place66">Direction comptable 
<OPTION VALUE="poste67" class="place67">Analyse financière 
<OPTION VALUE="poste68" class="place68">Audit 
<OPTION VALUE="poste69" class="place69">Comptabilité 
<OPTION VALUE="poste70" class="place70">Consolidation 
<OPTION VALUE="poste71" class="place71">Contrôle de Gestion 
<OPTION VALUE="poste72" class="place72">Fiscalité 
<OPTION VALUE="poste73" class="place73">Trésorerie 
<OPTION VALUE="poste74" class="place74">Autres fonctions Finance – Comptabilité 
<OPTION VALUE="poste75" class="place75">Information documentaire 
<OPTION VALUE="poste76" class="place76">Secrétariat / Assistanat de direction 
<OPTION VALUE="poste77" class="place77">Services Généraux 
<OPTION VALUE="poste78" class="place78">Autres fonctions gestion administrative 
<OPTION VALUE="poste79" class="place79">Promotion / Immobilier neuf 
<OPTION VALUE="poste80" class="place80">Agence immobilière 
<OPTION VALUE="poste81" class="place81">Gestion immobilière 
<OPTION VALUE="poste82" class="place82">Autres fonctions connexes de l’immobilier 
<OPTION VALUE="poste83" class="place83">Direction Informatique 
<OPTION VALUE="poste84" class="place84">Conseil en SI et maîtrise d’ouvrage 
<OPTION VALUE="poste85" class="place85">Informatique de gestion / Etudes et développement 
<OPTION VALUE="poste86" class="place86">Informatique industrielle / Electronique 
<OPTION VALUE="poste87" class="place87">Production / Exploitation / Systèmes 
<OPTION VALUE="poste88" class="place88">Support informatique 
<OPTION VALUE="poste89" class="place89">Réseaux Télécoms 
<OPTION VALUE="poste90" class="place90">Multimédia / Internet 
<OPTION VALUE="poste91" class="place91">Autres fonctions Informatiques 
<OPTION VALUE="poste92" class="place92">Direction juridique et fiscale 
<OPTION VALUE="poste93" class="place93">Avocat collaborateur, associé 
<OPTION VALUE="poste94" class="place94">Juridique, Fiscalité d’entreprise 
<OPTION VALUE="poste95" class="place95">Expertise 
<OPTION VALUE="poste96" class="place96">Notaire, clerc de notaire 
<OPTION VALUE="poste97" class="place97">Autres fonctions juridiques 
<OPTION VALUE="poste98" class="place98">Direction Achats / Approvisionnement 
<OPTION VALUE="poste99" class="place99">Direction logistique / Supply chain 
<OPTION VALUE="poste100" class="place100">Achats / Approvisionnements 
<OPTION VALUE="poste101" class="place101">Logistique / Supply chain 
<OPTION VALUE="poste102" class="place102">Ordonnancement / Planification 
<OPTION VALUE="poste103" class="place103">Transport 
<OPTION VALUE="poste104" class="place104">Autres fonctions Logistique, achats, transports 
<OPTION VALUE="poste105" class="place105">Direction Marketing 
<OPTION VALUE="poste106" class="place106">Conseil en marketing 
<OPTION VALUE="poste107" class="place107">Marketing produit 
<OPTION VALUE="poste108" class="place108">Marketing distribution 
<OPTION VALUE="poste109" class="place109">Marketing opérationnel 
<OPTION VALUE="poste110" class="place110">Marketing relationnel clients 
<OPTION VALUE="poste111" class="place111">Marketing études 
<OPTION VALUE="poste112" class="place112">Marketing internet 
<OPTION VALUE="poste113" class="place113">Autres fonctions Marketing 
<OPTION VALUE="poste114" class="place114">Direction de site 
<OPTION VALUE="poste115" class="place115">Direction de production 
<OPTION VALUE="poste116" class="place116">Direction technique 
<OPTION VALUE="poste117" class="place117">Direction industrielle 
<OPTION VALUE="poste118" class="place118">Fabrication / Production 
<OPTION VALUE="poste119" class="place119">Méthodes / Process / Industrialisation 
<OPTION VALUE="poste120" class="place120">Assurance Qualité / Contrôle Qualité 
<OPTION VALUE="poste121" class="place121">Hygiène / Sécurité / Environnement 
<OPTION VALUE="poste122" class="place122">Maintenance / Entretien 
<OPTION VALUE="poste123" class="place123">Autres fonctions Production 
<OPTION VALUE="poste124" class="place124">Direction des Ressources Humaines 
<OPTION VALUE="poste125" class="place125">Gestion des Ressources Humaines 
<OPTION VALUE="poste126" class="place126">Formation / Animation 
<OPTION VALUE="poste127" class="place127">Gestion du personnel / Paie 
<OPTION VALUE="poste128" class="place128">Recrutement / Mobilité 
<OPTION VALUE="poste129" class="place129">Relations sociales 
<OPTION VALUE="poste130" class="place130">Autres fonctions Ressources Humaines 
<OPTION VALUE="poste131" class="place131">Direction / Exploitation 
<OPTION VALUE="poste132" class="place132">Cuisine 
<OPTION VALUE="poste133" class="place133">Hôtels 
<OPTION VALUE="poste134" class="place134">Services en salle 
<OPTION VALUE="poste135" class="place135">Autres fonctions Hôtellerie / Restauration 
<OPTION VALUE="poste136" class="place136">Direction d’établissement / Associations 
<OPTION VALUE="poste137" class="place137">RD / Laboratoire 
<OPTION VALUE="poste138" class="place138">Chirurgie 
<OPTION VALUE="poste139" class="place139">Médecine 
<OPTION VALUE="poste140" class="place140">Dentaire 
<OPTION VALUE="poste141" class="place141">Pharmacie 
<OPTION VALUE="poste142" class="place142">Professions paramédicales 
<OPTION VALUE="poste143" class="place143">Social 
<OPTION VALUE="poste144" class="place144">Visite médicale 
<OPTION VALUE="poste145" class="place145">Autres fonctions de la Santé 
<OPTION VALUE="poste146" class="place146">Direction d’enseignes / de réseau 
<OPTION VALUE="poste147" class="place147">Direction d’agences / magasins 
<OPTION VALUE="poste148" class="place148">Direction commerciale 
<OPTION VALUE="poste149" class="place149">Distribution 
<OPTION VALUE="poste150" class="place150">Vente 
<OPTION VALUE="poste151" class="place151">Import / Export 
<OPTION VALUE="poste152" class="place152">Administration des ventes / SAV 
<OPTION VALUE="poste153" class="place153">Autres fonctions de la vente/distribution
</SELECT>
<br /></br />
</P>
<div class="ok" name="ok">RECHERCHER</div>
donc j'ai déjà fait une base de donné, avec un scripte j’affiche mes informations que j'ai besoin.

par exemple pour "lyon" "assurance" "audit conseil":
<table border="1" cellpadding="30" cellspacing="0">

<tr>
<th>date</th>
<th>fonction</th>
<th>departement</th>
</tr>
<?php
$db = mysql_connect('localhost', 'truc', 'muche');

// on sélectionne la base
mysql_select_db('search',$db); 

// Creation et envoi de la requete
$query = "SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM lyon where secteur = Audit / Conseil AND postes = Audit externe ORDER BY date";

$result = mysql_query($query);

// Recuperation des resultats
while($row = mysql_fetch_row($result)){
$date = $row[0];
$fonction = $row[1];
$dep = $row[2];
echo "<tr>\n
<td>$date</td>\n
<td>$fonction</td>\n
<td align=center>$dep</td>\n
</tr>\n";

}

// Deconnexion de la base de donnees
?>

</table>
avec sa j'ai déjà presque tout mais il me reste les conditions pour faire un include de mon script du genre,

Si on choisi dans la première liste déroulante "Lyon" et dans la 2éme "assurance" et enfin 3éme"audit interne" alors je fait include mon fichier include1.php qui est mon script juste au dessus.

je sais pas si je suis clair n’hésite pas a me le dire lol

Merci en tout cas pour votre aide.