PDA

View Full Version : [JSTREE - MYSQL] creare un albero dinamico


evil_stefano
03-03-2014, 10:21
Ciao,

qualcuno ha mai provato a creare un albero jstree partendo dai dati presi da un db mysql?
sul sito ho visto che c'è un esempio con PHP, ma non mi funziona (non vedo l'albero) e non vedo neanche il codice php per farlo..
Tra l'altro trovare esempi completi di jstree con mysql è semi-impossibile.. o cerco male io o non esistono.

A me andrebbe bene realizzarlo sia con Java Bean che con JSON che con un brutale XML o TXT da far caricare al jstree, l'obiettivo è popolarlo con una ajax call, il massimo sarebbe farlo con una servlet java.
Il problema è che le funzioni di delete, rename e create devono poi riflettersi sul db e refreshare l'albero.

qualcuno sa come farlo? (in un qualunque modo di quelli proposti, ma con riferimento ai dati del db mysql)


Grazie ! ;)

Daniels118
03-03-2014, 10:40
Io l'ho fatto con php+mysql. Ovviamente la base dati che trovi nell'esempio è stata progettata in un certo modo, se la tua base dati è diversa devi adattarla, oppure adattare la logica di gestione (io ho adottato questo secondo metodo).
Tieni presente che oltre alle funzioni di delete, rename e create, devi implementare anche quella di copia e ordinamento. La funzione taglia è realizzata tramite le funzioni copia e delete, quindi non va implementata a meno che non hai esigenze particolari.
La funzione di ordinamento è quella più rognosa, nell'esempio è implementata simulando una linked list nel db. Io per mie esigenze l'ho implementata con una colonna "ordinamento", il che mi ha creato qualche difficoltà.

evil_stefano
03-03-2014, 10:52
Io l'ho fatto con php+mysql. Ovviamente la base dati che trovi nell'esempio è stata progettata in un certo modo, se la tua base dati è diversa devi adattarla, oppure adattare la logica di gestione (io ho adottato questo secondo metodo).
Tieni presente che oltre alle funzioni di delete, rename e create, devi implementare anche quella di copia e ordinamento. La funzione taglia è realizzata tramite le funzioni copia e delete, quindi non va implementata a meno che non hai esigenze particolari.
La funzione di ordinamento è quella più rognosa, nell'esempio è implementata simulando una linked list nel db. Io per mie esigenze l'ho implementata con una colonna "ordinamento", il che mi ha creato qualche difficoltà.

a me andrebbe bene anche vederlo in php, dove posso trovarlo questo esempio?

Grazie !

Daniels118
03-03-2014, 11:04
In effetti sul sito jstree non c'è l'esempio di cui parlavo, poiché da qualche mese è stata rilasciata la versione 2 che probabilmente non è compatibile con la precedente e stanno ancora scrivendo la documentazione.

Se posso permettermi un suggerimento, io utilizzerei la vecchia versione che è sicuramente più matura anche se non più supportata.
L'esempio per la versione precedente lo trovi qui: http://old.jstree.com/demo
quello che interessa te è l'ultimo.

Se invece vuoi continuare con la versione 2 dovrai studiare l'api, eventualmente puoi farti aiutare dalla community su google gruppi. So che stavano cercando persone per realizzare gli esempi per la nuova versione, magari se ti proponi per pubblicare il tuo lavoro riceverai maggiore supporto da parte dello sviluppatore.

evil_stefano
03-03-2014, 11:16
In effetti sul sito jstree non c'è l'esempio di cui parlavo, poiché da qualche mese è stata rilasciata la versione 2 che probabilmente non è compatibile con la precedente e stanno ancora scrivendo la documentazione.

Se posso permettermi un suggerimento, io utilizzerei la vecchia versione che è sicuramente più matura anche se non più supportata.
L'esempio per la versione precedente lo trovi qui: http://old.jstree.com/demo
quello che interessa te è l'ultimo.

Se invece vuoi continuare con la versione 2 dovrai studiare l'api, eventualmente puoi farti aiutare dalla community su google gruppi. So che stavano cercando persone per realizzare gli esempi per la nuova versione, magari se ti proponi per pubblicare il tuo lavoro riceverai maggiore supporto da parte dello sviluppatore.

effettivamente sul vecchio sito c'è l'esempio con il codice html jquery per creare l'albero e indirizzare le chiamate, ma non trovo dove scaricare il codice PHP che poi fa tutto.. /static/v.1.0pre/_demo/server.php

da dove lo scarico?

io mi proporrei anche su google gruppi, ma sto vedendo che per fare queste cose è un bagno di sangue.. è tanto bello quanto complicato da usare.. io sono agli inizi di programmazione per web app e devo dire che la curva di apprendimento non è una curva, è un muro verticale..
stavo quasi per barare e fare nel codice JSP il c:out con ciclo e poi renderizzabile l'albero.. solo che poi mando a quel paese tutto ajax e refresh della pagina..

:muro:

Daniels118
03-03-2014, 11:25
Gli esempi completi vengono forniti insieme al plugin, questo è il link per il download:
https://github.com/vakata/jstree/archive/v.pre1.0.zip