Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Inserimento Multiplo su Mysql

    Salve a tutti,
    è il primo post per me. Sto lavorando ad un sistema gestionale e ho riscontrato il seguente problema:

    Vi spiego innanzi tutto l'idea.

    L'utente al momento della registrazione fara questi step=>

    Scelta (da menu a tendina) se è maggiorenne o minorenne=> a seconda della scelta verranno caricati due diversi form: se è minorenne verrà caricato il form anche per l'inserimento dei dati dei genitori, se è maggiorenne ovviamente no.

    sono stati creati due diverse tabelle : soci e Genitori.
    Nel caso in cui uno scelga "maggiorenne" andrebbe a riempire solo la prima, nell'altro caso..entrambi.

    Il problema arriva quando io, admin , devo richiamare un utente (minorenne) e i relativi dati del genitore. Ora poichè non è detto che l'id di un record della tab"soci" corrisponda con lo stesso id della tabella "genitori" (per il fatto che la seconda può anche ssere NULL) come posso ovviare a questo problema?

    Io avevo pensato di generare un codice automatico di riconoscimento che scrivera in entrambe le tabelle...ma a questo punto ci vorrebbe un controllo sulla non-ripetizioni del codice usato....

    Spero qualcuno di voi mi auiuti perchè è parecchio che ci sto sbattendo la testa e non riesco a venirne a capo..

    Ringraziandovi,
    Alex

  2. #2
    é un problema di progettazione, e di conseguenza di architettura della base dati, che si può risolvere in diversi modi a seconda delle esigenze.

    Ad esempio, nei database relazionali puoi usare una chiave esterna che "relazioni" i record della tabella "soci" con quelli della tabella "genitori": in questo modo crei una relazione padre-figlio tra la prima e la seconda tabella. Puoi vedere qui per le specifiche:

    http://dev.mysql.com/doc/refman/5.1/...nstraints.html

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    nella tabella genitori crea un campo che sia una chiave esterna verso la tabella soci
    in questo campo metterai l'id del socio minorenne


    EDIT: appena anticipato

  4. #4
    Grazie mille delle risposte, anche se in tutta onestà non ho ben capito come funzioni questa storia parent-child. tutto alla luce del fatto che si sono aggiunte altre 2 tabelle:

    -ingressi (per controllare gli ingressi in un determinato luogo)
    -feedback (che funziona come genitori soltanto che c'è per ogni utente della tabella soci)

    Ora per la prima avevo pensato di fare , che si inserisce manualmente il numero di tessera del socio e vengono registrati praticamente come log con tanto di ora e data.
    Per il secondo mi trovo nello stesso problema del genitore.

    Si può fare un esempio pratico al riguardo?

    Grazie,
    Alex.

  5. #5
    In pratica quando effettui una insert sulla tabella soci relativo ad un minorenne effettui una insert anche sulla tabella genitori nella quale avrai un campo (ad esempio id_soci) nel quale inserirai l'id del minorenne appena inserito nella tabella soci. In questo modo relazioni le due tabelle soci e genitori. Quando dovrai recuperare le informazioni relative ad un socio minorenne tramite il suo id potrai recuperare anche le informazioni relative ai suoi genitori dalla tabella genitori.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    La relazione padre-figlio permette di mettere in relazione due tabelle, specificando che la tabella FIGLIO è legata da un valore specifico (LA CHIAVE ESTERNA) alla tabella padre.

    Questo si traduce, semplificando, nel fatto che ogni record della tabella FIGLIO avrà una corrispondenza nella tabella PADRE: questo ti risolve il problema di dover relazionare tu "a mano" le due tabelle.

    Questo meccanismo si può replicare fino a quanto serve, come nell'esempio:


    TABELLA PADRE (Socio)

    Id_Socio Nome_Socio Cognome_Socio ...............


    TABELLA FIGLIA (Genitore)

    Id_Genitore_Socio Nome_Genitore Cognome_Genitore Id_Socio ..............


    ALTRA TABELLA FIGLIA (Ingresso)


    Id_Ingresso Id_Socio .................



    e via dicendo.

  7. #7

  8. #8
    Grazie mille,

    Quindi in pratica io ho gia creato le tabelle, e ho aggiunto il campo id_socio in entrambe la tabelle figlie (sono 3 in tutto + la tabella padre):

    strutturate così:
    tabella soci
    generalita' del socio (dunque id,nome cognome, indirizzo email e via dicendo)
    tabella genitori
    generalità genitore (come sopra + id socio di tipo bigint)
    tabella feedback
    (feed 11 data11,feed12 data12...ecc fino a feed33data33 l'operatore che l'ha fatto e il socio contattato)

    ora il mio piu grosso problema(concettuale) è come fare in modo che dal form vengano inviati i dati ai rispettivi database..Esempio

    Iscrizione --> scelta tra due form diversi..maggiorenne o minorenne. nel primo caso non c'è il form genitori..nel secondo caso si. non fa differenza ai fini dell inserimento?

    E ancora, il problema iingressi:

    il problema ingressi è che praticamente andrebbero fatti giornalmente..un pò come quando entri in palestra e passi la tessera per entrare, considerando che uno può accedere anche due volte nella stessa giornata...va sempre bene il metodo descritto sopra?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.