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:
voila pour résumer tout les cas de figure
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
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; }voila mon cerveau commence à suffoquer maintenant
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>
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'
Partager