Bonjour,

Voila je cherche a avoir un petit formulaire (sans bouton valider).
Mon but est de créer 3 listes déroulantes.
ma BDD est une arborescence de dossier/fichier, ex:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
dossier_source->dossier1->sous_dossier1->fichier1
                                         fichier2
                          sous_dossier2->fichier1
                          sous_dossier3->vide
 
              ->dossier2->sous_dossier1->fichier1
                                         fichier2
 
              ->dossier3->sous_dossier1->fichier1
 
              ->dossier4->sous_dossier1->vide
 
              ->dossier5->vide
voila pour résumer tout les cas de figure

je veux que ma 1ere liste affiche la liste des dossiers.
Quand je choisi un dossier, la liste des sous_dossiers de ce dossier s'affiche sinon affiche vide; si il n'y a qu'un sous_dossier affiche la liste des fichiers ou affiche vide.
Quand je choisi un sous_dossier, affiche la liste des fichiers ou affiche vide.

Un peu de code:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
define("chemin","../dossier_source");
$dossier=array();
$sous_dossier=array();
$fichier=array();
 
function abc($dir){
   $sortie=array();
   $do=opendir($dir);
   while ($fi=readdir($do)){
      if ($fi !="." && $fi !=".."){
         $chemin=$dir.'/'.$fi;
         if(is_dir($chemin)){
            $sortie[]=$fi;
         }
      }
   }
   closedir($do);
   return $sortie;
}
 
function def($dir){
   $sortie=array();
   $do=opendir($dir);
   while ($fi=readdir($do)){
      if ($fi !="." && $fi !=".."){
         $chemin=$dir.'/'.$fi;
         if(is_file($chemin)){
            $sortie[]=$fi;
         }
      }
   }
   closedir($do);
   return $sortie;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
<?php
   $dossier=abc(chemin);
?>
<form name='form1' method='POST' action=''>
dossier:<select name="ledossier" size="1" id="dossier" onchange="form1.submit();">
   <option value "">choisir...</option>
   <?php																
      foreach($dossier as $undossier)
      {
   ?>
         <option <?php if (isset($_POST['ledossier']) && $_POST['ledossier']== $undossier){echo "selected";} ?>><?php echo $undossier; ?></option>
   <?php
      }
   ?>
</select>
</form>
<form name='form2' method='POST' action=''>
<?php
   if(isset($_POST['ledossier'])){
      $dossier = $_POST['ledossier'];
      $origine = chemin.'/'.$dossier;
      $sous_dossier= abc($origine);		
      if(count($sous_dossier)>=2){
         echo "sous_dossier:<select name='sous_dossier' size ='1' id='sous_dossier' onchange='form2.submit();'>";
            foreach($sous_dossier as $doss){	
            ?>
               <option <?php if (isset($_POST['sous_dossier']) && $_POST['sous_dossier']== $doss){echo "selected";} ?>><?php echo $doss; ?></option>
            <?php
            }					
         echo"</select>";
      }elseif(count($sous_dossier) == 1){
         echo $sous_dossier[0];
         $origine2 = chemin.'/'.$dossier.'/'.$sous_dossier[0];
         $file = def($origine2);
         echo "sous_dossier: <select name='fichier' size ='1' id='sous_dossier' onchange='form2.submit();'>";
            foreach ($file as $fichier){
               ?>
               <option <?php if (isset($_POST['fichier']) && $_POST['fichier']== $fichier){echo "selected";} ?>><?php echo $fichier; ?></option>
               <?php
            }								 
            echo "</select>";
         }else{
            echo "Il n'y a aucun fichier.";	
         }
      }	
      ?>				
</form>
voila mon cerveau commence à suffoquer maintenant
je n'arrive plus a garder mes variables à partir de la 2eme sélection et donc j'ai peur pour la 3ème liste U_u'