Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    39

    [PHP-HTML] Stmpare Directory-Tree come Select annidata

    Premetto che mi sto ricollegando ad un altro mio post:
    http://forum.html.it/forum/showthrea...4#post25381734

    Allora ero riuscito a creare una Select "ramificata" a partire da un array.. questa la funzione:

    Codice PHP:
    function HTMLOptionsTree($menu$sel_id =''$pid 0$depth 0$parent_last=[]) 
    {    
        
    $children=array();
        
        foreach (
    $menu as $item) if ($item["pid"] == $pid)
            
    $children[]=$item;

        foreach (
    $children as $key => $child)
        {     
            if (
    $depth>0)
                foreach (
    $parent_last as $is_last)
                    
    $p_branches.=($is_last '     ' '  │  ' );

            
    $symbol =  $p_branches.'  '.(($key == (count($children)-1)) ? '└' '├').'─▸';

            
    $result .= '<option value="'.$child["id"].'" '.($child["id"]==$sel_id 'selected':'').'>'.$symbol.$child["title"].'</option>'."\n";
            
    $parent_last_new=$parent_last
            
    $parent_last_new[]=(($key == (count($children)-1)) ? 0);
            
            
    $p_branches='';
            
            
    $result.=HTMLOptionsTree($menu$sel_id$child["id"], $depth+1$parent_last_new);   
        } 

        return 
    $result ?  $result null


    Vi allego l'immagine di esempio.

    Adesso ho bisogno di applicare lo stesso ragionamento per visualizzare la ramificazione delle cartelle, passando il path iniziale. Quindi bisognerà chiamare la ricorsione ogni volta che si trova una cartella con "scandir()".

    La cosa importante è che i path che andranno nell' attributo "value" di ogni "OPTION" siano RELATIVI!
    In pratica cosi':

    codice HTML:
    <option value="folder_1">folder_1</option>
    
    <option value="folder_2">folder_2</option>
    
        <option value="folder_2/sub_1">folder_2/sub_1</option>
        <option value="folder_2/sub_2">folder_2/sub_2</option>
        <option value="folder_2/sub_3">folder_2/sub_3</option>
        <option value="folder_2/sub_4">folder_2/sub_4</option>
        
            <option value="folder_2/sub_4/sub_sub_1">folder_2/sub_4/sub_sub_1</option>
            <option value="folder_2/sub_4/sub_sub_2">folder_2/sub_4/sub_sub_2</option>
            
        <option value="folder_2/sub_5">folder_2/sub_5</option>
        
    <option value="folder_3">folder_3</option>

    Mi date una mano? Eddaiiiiii ....

    Sotto vi carico lo screenshot del mio esperimento precedente...
    Immagini allegate Immagini allegate

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.