- Home
- Categorie
- Coding e Sistemistica
- PHP
- Quesito difficile - Prodotti con campi dinamici
-
Quesito difficile - Prodotti con campi dinamici
In un ecommerce dovrei creare un qualcosa che dia la possibilità di configurare una 30ina di prodotti con N campi diversi per ogni prodotto da mostrare ...
Mi spiego meglio
Prodotto A - al momento dell'acquisto il cliente dovrà rispospondere ad un serie di domande configurabili (es. nome, data di nascita, upload di un file)
Prodotto B - al momento dell'acquisto il cliente dovrà rispospondere ad un serie di domande configurabili (es. PIVA, età, ecc ecc .)Quindi tutti i prodotti sono diversi ed ognuno da una serie di campi variabili e di diverso tipo (numerici, stringhe, testo, upload di file ecc ecc)
Stò pensando ad un soluzione ma non mi viene in mente "niente di pulito"..
Opzione 1 -
Viene creata una tabella per ogni prodotto ed al momento della creazione vado a creare i vari campi con possibilità di aggiungere togliere nel tempo... ma avere una marea di tabelle non mi sembra una cosa buona e giusta ma non la scarto come soluzione, avrei il vantaggio di avere una sola tabella "piatta" per ogni prodotto e la gestione e le performance dovrebbe essere buone...Opzione 2 -
Avere una struttura di questo tipoTabella tipo_prodotti
Campi: id - nome_prodotto, altro....Tabella configurazione (più righe per ogni prodotto)
Campi:id, id_tipo_prodotti, tipo_di_campo (testo, numerico ecc ecc ), nome_del_campo (nome, cognome ecc), obbligatorio ecc eccUna tabella per ogni tipo di campo
es tabella testo
Campi: id , id_tabella_configurazione, id_acquisto , valore (campo testuale)
es tabella numeri
Campi: id , id_tabella_configurazione, valore (campo numerico)Una tabella acquisto dove registri i prodotti acquistati con tutti i riferimenti...
Insomma qualunque soluzione mi sembra molto artificiosa, se qualcuno ha affrontato un problema simile ogni suggerimento sarebbe molto gradito e spero di essermi spiegato bene...
-
io farei tre tabelle:
una per gli utenti
una per i prodotti
una per gli acquisti e prenotazioni che fanno combaciare gli id utenti con gli id dei prodottiin questo modo puoi recuperare per ogni utente anche gli acquisti effettuati
-
MI sono spiegato male sicuramente, la questione è questa, l'amministratore del sistema deve avere la possibilità di configurare N prodotti/servizi da vendere, per ognuno di questi deve avere la possibilità di inserire un questionario prima dell'acquisto con dati richiesti all'utente diversi per ogni prodotto...
Ad esempio
prodotto 1 prima dell'acquisto il cliente deve inserire (nome, piva, età, possibilità di upload di un documento)
prodotto 2 prima dell'acquisto il cliente deve inserire (automobile posseduta, km percorsi, numero patente ecc ecc)Ora è come gestire la possibilità di configurare i prodotti che mi incasina la vita, ogni prodotto si porta con se un questionario con le domande più varie e di diverso tipo (numerico, email, testo ecc ecc)...
-
utilizza una if...
se il prodotto è nella categoria 1 utilizza questa tabella
se il prodotto è nella categoria 2 utilizza questa tabella