• User Newbie

    Collegare campi

    Vorrei conoscere il modo per ottenere un risultato dopo che da un form (in php) un utente scelga varie opzioni. Esempio:
    Nel form l'utente sceglie nome prodotto, spunta una checkbox del colore, seleziona taglia da una casella a discesa ed all'invio gli viene mostrato il relativo prezzo che naturalmente varia sia per colore che per taglia.
    Il problema che credo sia alla base di tutto ciò é come impostare il database (Mysql) e relative tabelle le quali mi pare debbano essere collegate tra loro. La domanda in questo caso sarebbe: dovrò creare una tabella propdotto, una tabella colori e una tabella taglie? In ogni record (nuovo prodotto) che andrò a creare dovrò inserire un prezzo a seconda di colore e taglia, è possibile tutto ciò? Sto provando con Filemaker ma la sua guida non mi é di grande aiuto....
    Conoscete qualche tutorial possibilmente in italiano? Grazie infinite a chi mi aiuterà!


  • Consiglio Direttivo

    Se ho ben capito cosa devi fare, in maniera un po' brutale (e non proprio elegante) potresti creare:

    • una tabella prodotto (id, prodotto, descrizione);
    • varie tabelle (a creazione e update automatici tramite un form admin magari, alla creazione di un prodotto crei in automatico la sottotabella) relative alle varie combinazioni colore-taglia del prodotto che da il nome alla tabella, avente come campi-> id, colore, taglia, prezzo, disponibilità (quest'ultimo se vuoi avere un controllo sulle disponibilità o meno magari :2:

    Non è un granchè, ma è funzionale 😄
    L'unica cosa a cui bisogna far attenzione è non duplicare la combinazione colore-taglia, ovvero creare nella stessa tabella nome_prodotto due chiamate tipo Giallo - XL (non ricordo se è possibile impostare una coppia di campi come chiave univoca)


  • User

    se puoi stabilire una relazione funzionale del prezzo in relazione alla taglia - colore ecc devi solo articolare bene lo script, altrimenti devi mettere tutte le combinazioni nel database (lavoro molto più lungo, soprattutto in fase di aggiornamento)