isee
28-12-2013, 19:04
Salve gente,
ho un problema con la gestione di una base di dati e relativa web app in PHP. Vi faccio il punto della situazione! Ho da gestire dei prodotti, questi prodotti hanno dei campi obbligatori, altri (opzionali) cambiano in base alla tipologia di prodotto. Le tipologie quindi, sono una collezione di questi campi opzionali, a loro volta possono essere modificati/rimossi da un addetto ai lavori.
Esempio pratico:
-ProdottoA
-nome: XX
-peso: YY
-tipologia: ferro
-peso specifico (opzionale): XYW
-lucententezza (opzionale): WYXX
-ProdottoB
-nome: HJPA
-peso: GHH
-tipologia: carbone
-derivazione (opzionale): BLABLA
-data acquisto (opzionale): GG/MM/AAAA
Quindi, le tipologie "ferro" e "carbone" hanno campi diversi opzionali. Un admin può decidere di aggiungere o rimuovere o cambiare uno di questi campi, in base alle esigenze, e può anche inserire nuove tipologie. Detto ciò, un "operaio" che deve inserire un prodotto immette i campi obbligatori (nome, peso), seleziona la tipologia ed escono fuori i campi che dipendono dalla tipologia (opzionali, cioè può anche non inserirli).
Partiamo dal fatto che, con le conoscenze derivate dalle lezioni universitarie, questo problema non sono in grado di risolverlo a dovere da solo (nemmeno i colleghi). Non so proprio come impostare la base di dati e come generare colonne dinamiche per l'eventuale modifica dei campi opzionali.
Ok, in realtà l'idea c'è ma è così:
- table tipologie (id, nometip)
- table campi (id, idtipologia, nome_campo)
- table relazione_tipologie_campi (id, idtipologia, idcampo, idprodotto, valore)
- table prodotti (id, nome, peso, tipologia)
A me sembra proprio brutta come cosa e nemmeno tanto buona, ma al momento non sono in grado di trovare una soluzione migliore. Avete suggerimenti?
ho un problema con la gestione di una base di dati e relativa web app in PHP. Vi faccio il punto della situazione! Ho da gestire dei prodotti, questi prodotti hanno dei campi obbligatori, altri (opzionali) cambiano in base alla tipologia di prodotto. Le tipologie quindi, sono una collezione di questi campi opzionali, a loro volta possono essere modificati/rimossi da un addetto ai lavori.
Esempio pratico:
-ProdottoA
-nome: XX
-peso: YY
-tipologia: ferro
-peso specifico (opzionale): XYW
-lucententezza (opzionale): WYXX
-ProdottoB
-nome: HJPA
-peso: GHH
-tipologia: carbone
-derivazione (opzionale): BLABLA
-data acquisto (opzionale): GG/MM/AAAA
Quindi, le tipologie "ferro" e "carbone" hanno campi diversi opzionali. Un admin può decidere di aggiungere o rimuovere o cambiare uno di questi campi, in base alle esigenze, e può anche inserire nuove tipologie. Detto ciò, un "operaio" che deve inserire un prodotto immette i campi obbligatori (nome, peso), seleziona la tipologia ed escono fuori i campi che dipendono dalla tipologia (opzionali, cioè può anche non inserirli).
Partiamo dal fatto che, con le conoscenze derivate dalle lezioni universitarie, questo problema non sono in grado di risolverlo a dovere da solo (nemmeno i colleghi). Non so proprio come impostare la base di dati e come generare colonne dinamiche per l'eventuale modifica dei campi opzionali.
Ok, in realtà l'idea c'è ma è così:
- table tipologie (id, nometip)
- table campi (id, idtipologia, nome_campo)
- table relazione_tipologie_campi (id, idtipologia, idcampo, idprodotto, valore)
- table prodotti (id, nome, peso, tipologia)
A me sembra proprio brutta come cosa e nemmeno tanto buona, ma al momento non sono in grado di trovare una soluzione migliore. Avete suggerimenti?