• User Attivo

    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 tipo

    Tabella 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 ecc

    Una 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...


  • User

    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 prodotti

    in questo modo puoi recuperare per ogni utente anche gli acquisti effettuati


  • User Attivo

    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)...


  • User

    utilizza una if...
    se il prodotto è nella categoria 1 utilizza questa tabella
    se il prodotto è nella categoria 2 utilizza questa tabella