Bonjour,

J'ai un problème sur lequel je me casse la tête depuis hier (6/6/12)... Je souhaiterais mettre en cascade des input "select", qui dépende chacun du précédent, et suivant le choix, va mettre certains choix dans la liste du suivant grâce à une base de données...

Mais le plus simple est de vous montrer le code pour le premier :

Code HTML/PHP :

<?php if ($module_codification == '1' ) {
          echo '<div class="span3">
                  <label for="famille">Famille :       </label>';
                   // Menu déroulant Famille
                      $reponse = mysql_query("SELECT famille FROM piece_famille Order By famille ASC"); 
                      echo "<select id='famille' name='famille' required ><option value=''>--</option>";

                      while ($donnees_f = mysql_fetch_array($reponse) ) 
                      { 
                      echo "<option value=".$donnees_f'famille'].">".$donnees_f'famille']."</option>";
                      } 
                      echo"</select>"; 
                      mysql_close(); // Déconnexion de MySQL

                  echo '
                </div>
                <div class="span3">
                  <label>Sous-famille : </label>
                  <div id="divssfamille"></div>
                </div>';
              } 
       ?>

Le Javascript :

<script>
    $("#famille").change(function () {

          $("select option:selected").each(function () {
            str = $(this).val();

            $.post("./newpiece-gestion-sous-famille.php",{str: str},function(data){
              $("#divssfamille").empty().append(data);

            });
          });
        })
    .change();
  </script>

La page PHP dans laquelle le javascript envoie les données :

<?php
extract($_POST);
include '../../cnx.php';
        if(isset($famille) && !empty($famille) ){
        //Entre les variables dans le tableau Type d'équipement
                      $reponse = mysql_query("SELECT * FROM `piece_sous-famille` WHERE `famille_pere` == '$famille' "); 
                      while ($donnees = mysql_fetch_array($reponse) ) 
                      { 
                      echo "<option value=".$donnees'sous-famille'].">".$donnees'sous-famille']."</option>";
                      } 
                      mysql_close(); // Déconnexion de MySQL

        }
        else{
                echo "<option>Sélectionnez une Famille</option>";
        }
?>

Voilà, si quelqu'un pouvais m'aider, ça serai vraiment sympa !

Merci d'avance !

1 réponse


mapiolca
Auteur

Je passe par le Bootstrap Twitter pour le mise en page et visiblement ça pose un souci car les champs scintillent mais ne s'affichent pas...