PHP / Menu deroulant Dynamique Bdd

Résolu
dubuducu Messages postés 395 Statut Membre -  
chaton1930 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,Bonjour,
Voci mon probleme.
Je souhaiterai avoir un menu deroulant dynamique qui fait appel directement aux champs de ma Bdd.
Je recoi des formulaires (devis) classés suivant leur famille (champs : categorie ) et leur sous famille ( champs : thematique_projet)

Voici mon code :
$requete_cat = "SELECT DISTINCT categorie FROM devis_table ORDER BY categorie";
$resultat_cat = mysql_query($requete_cat)
or die ("Exécution de la requête impossible");

$ra = "SELECT DISTINCT thematique_projet FROM devis_table ORDER BY thematique_projet";
$result = mysql_query($ra)
or die ("Exécution de la requête impossible");
//DISTINCT permet d'afficher qu'une fois les données

echo"<b>Choisissez une categorie de devis</b>\n";
echo"<br><br>";
echo "<select name='categorie'>\n";
echo "<option value='null'>Devis</option>";

while ($liste_cat=mysql_fetch_array($resultat_cat))
{
extract($liste_cat);
echo "<option value='$categorie'>$categorie\n";

}
echo " </select>\n";
echo " <BR><BR><BR><BR>";

Je souahiterai savoir la procédure pour que lorsqu je choisise une categorie, cela m'affiche un deuxieme menu deroulant avec la sous famille.

je pense qu'il faut faire une requete du genre:
Select Disctint * From devis_table Where categorie = '" .... je ne sais pas quoi mettre ici "'

puis apres ... je suis pomé ! Merci de votre aide
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. chaton1930 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   7
     
    Est ce que tu as trouvé la solution à ton problème... parce que j'ai le meme... si c'est le cas dis moi comment tu as fait
    Merci
    0
  2. dubuducu Messages postés 395 Statut Membre 4
     
    je n'ai pas trouvé la solution mais je me suis renseigné ... il faut utiliser Ajax ou des trucs comme ceux ci bien complexe pour un debutant comme moi.

    Alors ma solution a été de faire plusieures pages. Je m'explique :

    Ma page menu.php
    je choisi le departement et la categorie
    A l'aide d'un post je vais vers menu1.php

    Menu1.php*
    je fais une requete avec la catégorie d'avant concernant la sous_catégorie et ainsi de suite. Meme manipulation

    j'ai donc fais des requetes par etapes afin d'arriver a mes choix multiples !!
    un peu arcahaique mais fort efficace !

    bonne chance
    1
    1. chaton1930 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   7
       
      jai la solution je vous poste mon code. Ca marche nickel

      <?php 
      $idr = isset($_POST['nom_projet'])?$_POST['nom_projet']:null; 
      
      $bdd = mysql_connect('localhost','root','')
      	or die("Erreur de connexion au serveur.");
      
      mysql_select_db('gestion',$bdd)
      	or die ("erreur de connexion base");
      
      $sql = 'SELECT DISTINCT nom_projet FROM `sous-projet` ORDER BY nom_projet '; 
      
      $sql1 = 'UPDATE metrique SET commentaire = "" where 1';
      
      
      $req1 = mysql_query($sql1)
      	or die ("erreur1");
      
      $req = mysql_query($sql)
      	or die ("erreur2");
      
      $num_ligne = mysql_num_rows($req);
      
      while($row = mysql_fetch_array($req) )
      {
      	$nom_projet[] = $row['nom_projet'];
      }
      ?>
             
      
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <link rel="stylesheet" type="text/css" href="onglet.css" />
      </head>
      <body>
      
      <div class="menu4">
      </div>
      
      <div class="menu2">
      <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="formulaire">
      
      <STRONG> Sélectionner un projet : </STRONG>
      	<select name="nom_projet" id="nom_projet" onchange="document.forms['formulaire'].submit();"> 
      	<?php for($i=0;$i<$num_ligne;$i++){ ?>
      	<option value="<?php echo($nom_projet[$i]) ?>" <?php echo((isset($idr) && $idr == $nom_projet[$i])?" selected=\"selected\"":null) ?>> <?php echo $nom_projet[$i] ?></option>
      	<?php } ?>
      	</select>
      <?php
          mysql_free_result($req); 
      
        if(isset($idr) && $idr != -1)
          { 
      	$sql2 = 'SELECT DISTINCT nom_sous_projet FROM `sous-projet`  WHERE `nom_projet` = "'. $idr .'"ORDER BY nom_sous_projet'; 
      
      	$req2 = mysql_query($sql2)
      	or die ("erreur3");
      	$num_ligne2 = mysql_num_rows($req2);
      	//echo $num_ligne2;
      	while($row = mysql_fetch_array($req2) )
      	{
      		$nom_sous_projet[] = $row['nom_sous_projet'];
      		//echo $nom_sous_projet[0];
      		//echo $nom_sous_projet[1];
      	}
      
      }
      ?>
      
      <P>
      </form>
      <form action="edit_export.php" method="post">
      <STRONG> Sélectionner un sous projet : </STRONG>
      	<select name="nom_sous_projet" id="nom_sous_projet">
      	<?php for($j=0;$j<$num_ligne2;$j++){ ?>
      	<option value="<?php echo($nom_sous_projet[$j]) ?>"> <?php echo $nom_sous_projet[$j] ?> </option>
      	<?php }?>
      	</select>
      <BR>
      <BR>
      <BR>
      
      <INPUT TYPE=SUBMIT value="Valider" > </INPUT> 
      
      </form>
      </div>
      </body>
      </html> 
      


      j'espère que ça servira à quelqu'un
      si vous avez des question n'hésitez pas j'y repondrai avec plaisir dans la limite des capacites bien sur !
      0