Voglio implementare la funzione di discesa dipendente in una pagina web nel mio sito Web che contiene i seguenti menu a discesa:
- Nome gruppo utente
- Eventi di gruppo (menu a discesa dipendente)
- Luoghi (menu a discesa dipendente)
Ora, quello che voglio è in base all'opzione selezionata nel primo elenco a discesa che è il nome del gruppo (gli altri due saranno disabilitati fino a quando non viene selezionato), l'elenco degli eventi viene visualizzato; dovrebbero verificarsi solo quei valori rilevanti per il nome del gruppo selezionato. Allo stesso modo, i valori delle posizioni dovrebbero essere pertinenti al nome del gruppo e all'evento selezionato. Non solo questo, ma voglio anche che il design sia irrilevante rispetto al livello di dipendenze o all'ordine corrente (nome di gruppo- > eventi- > posizioni). Anche se desidero aggiungere temporizzazioni come un altro livello di dipendenza, il design dovrebbe incorporarlo.
Ora, in tutte le domande relative a questo problema, le tabelle vengono utilizzate per memorizzare i dati in database come:
-
La migliore struttura di dati per l'implementazione di dropdown dipendente - due drop-down dipendenti elenca con i valori in due diversi tavoli
- Salvataggio dei dati del menu a discesa dipendente - Yii
Tuttavia, desidero prendere in considerazione le seguenti alternative:
- Trie : poiché l'ordine in cui sono selezionati gli attributi è definito, potremmo usare un trie per memorizzare tutte le possibili combinazioni di l'elenco dei valori in ogni elenco a discesa dipende l'uno dall'altro. utilizzando ricerca prefisso, potremmo recuperare i valori del prossimo menu a discesa, in base al valore selezionato nel precedente.
- Tabella : simile a quella usata in precedenza, possiamo memorizzarla nel database ma quindi il numero di livelli di dipendenze non è veramente fisso e può aumentare in futuro. Come gestirlo? (Supponendo che io non voglia per modificare lo schema ogni volta che ciò accade)
- Grafico : potremmo anche memorizzare le possibili combinazioni in un diretto grafico e in base ai valori selezionati possiamo visualizzare tutto il successivo nodi adiacenti nel successivo drop-down dipendente.
Quale di questi è un approccio migliore, tenendo conto dell'estensibilità o delle modifiche future? O qualsiasi altro suggerimento per le strutture di dati sono anche benvenuti. Si prega di spiegare con una corretta progettazione in dettaglio considerando la complessità in mente.