PDA

View Full Version : [PHP] Menu ad albero con elementi da query


phantom85
02-11-2011, 16:53
Ciao a tutti,

dovrei realizzare in una pagina php un menu ad albero che si espande in base a quello che viene selezionato. Gli elementi della lista sono tutti dinamici, ovvero da recuperare tramite query SQL (MSSQL).

Vi faccio un esempio:

Lista Aziende

Azienda_01
Azienda_02
...

Questa lista dovrebbe essere visualizzata facendo una SELECT sulla tabella Table_Azienda

Successivamente l'utente facendo un click sull'azienda desiderata (o eventualmente su un apposito pulsante) dovrebbe visualizzare la lista dei reparti, ad esempio


Azienda_01
-- Amministrazione
-- Ricerca e Sviluppo
--Officina

(anche i reparti dovranno essere visualizzati estraendo i dati con una query sulla tabella Table_Reparto "WHERE" Azienda='Azienda_01')

Successivamente sempre con un click sul reparto desiderato dovrei visualizzare la lista dei dipendenti, ad esempio:

Azienda_01
-- Amministrazione
-- Ricerca e Sviluppo
--Officina
---Mario Rossi
---Carlo Verdi
---Fabio Bianchi


Non mi interessa molto l'aspetto estetico, nel senso che posso usare qualsiasi oggetto, tipo menu a tendina, form, pulsanti...ecc, purchè si riesca a procedere con questa "espansione" dell'albero estraendo i dati dal db di SQL.


Grazie in anticipo a tutti.:)

phantom85
03-11-2011, 07:51
Nessuno?

ConRoe
07-11-2011, 09:52
A occhio direi che con il solo php non ne esci. Io al tuo posto farei cosi :
-mi creo un file (menu.php) che ospita la UI e glielementi di base.
-creo uno script js che sarà deputato al recupero in real time delle informazioni necessarie, prese da un altro file php (per semplicità potrebbe essere "query.php" ad esempio ma posso "riutilizzare " il file menu.php del quale abbiamo parlato prima)
-infine, in questo file dal quale vado a pescare con il js, ci metto le funzioni che mi interrogano il Db in base alle informazioni ricevute dall'utente.

Secondo me è un metodo abbastanza compatto ed efficiente e se non hai grandi conoscenze di js, jquery ti mette a disposizione tutto il materiale x comporre la funzione in pochissime righe di codice