Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    203

    Insert con relazioni molti a molti

    ciao a tutti.

    Il mio problema è fare un insert in una relazione molti a molti.
    Sono in difficolta nella scrittura del codice php di inserimento nella 3 tabella. Faccio un esempio concreto:

    Ipotesi di databse in cui voglio registrare le preferenze sportive dei contatti:

    TABELLA CONTATTI

    ID| COGNOME| NOME | INDIRIZZO
    1 | BALDI | ANDREA | PIAZZA CARDUCCI
    2 | ROSSI | FULVIO | VIA MARCONI 7

    TABELLA SPORT

    SPORT| Nome esteso
    1 | Calcio
    2 | Tennis

    TABBELA DI APPOGGIO

    ID|SPORT
    1 | 1
    2 |2



    $query ="INSERT INTO Tabella_CONTATTI Set

    COGNOME='$cognome',
    NOME = '$nome',
    INDIRIZZO='$indirizzo'";

    poi non riesco a andare avanti.........


    grazie

  2. #2

    Re: Insert con relazioni molti a molti

    Originariamente inviato da danilob

    TABBELA DI APPOGGIO

    ID|SPORT
    1 | 1
    2 |2
    mi sfugge il senso profondo di questa tabella

  3. #3
    è la tabella che viene creata tra una relazione N a N.

    Comunque che problema c'è? prosegui con altre 2 query di insert all'interno delle altre 2 tabelle.

    Se invece devi associare solo una persona ad uno sport, l'inserimento lo fai solo nella tabella di appoggio inserendo i due rispettivi id

  4. #4
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Suppongo tu stia cercando di inserire una persona e gli sport associati.
    Quello che devi fare è mostrare una select con attributo multiple e con l'elenco degli sport disponibili.
    Al submit del form, per ogni valore selezionato farai una insert nella tabella ponte, inserendo l'id della persona appena inserito e gli id degli sport selezionati.
    L'affare si complica invece per un form di modifica. In questo caso devi confrontare i valori degli sport passati con quelli attualmente memorizzati sul database, togliere quelli che c'erano prima e non sono stati passati e aggiungere quelli che prima mancavano e che sono stati passati.

    Questa cosa ha una certa complessità e se devi farla su molte form ti potrebbe far perdere molto tempo.
    Potresti impegnare il tuo tempo per imparare a usare un framework, che faccia poi il lavoro sporco al posto tuo.
    Per esempio con symfony puoi avere tutti i form generati con un comando (e anche le tabelle del database e tutto il codice necessario a gestirle), semplicemente definendo uno schema in yaml.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    203
    grazie moltissime a tutti

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.