Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165

    La soluzione piú elegante per mantenere coerenza in un DB

    Non ho bisogno di un consiglio tecnico, solo del vostro parere in merito a quale sia la soluzione piú elegante possibile per risolvere questo tipo di caso.

    Saró breve:

    Form di inserimento dell'elemento A nel db.
    Nello stessa pagina è presente un sotto form per l'inserimento di elementi di tipo B legati all'elemento padre A.
    Questi elementi B vengono sparati nel DB via Ajax.

    Ovviamente nel DB gli elementi B hanno un foreign key con l'id dell'elemento A al fine di poter sempre ricreare l'albero correttamente.
    Il problema nasce proprio in questa fase perchè vorrei avere la certezza che la soluzione adottata sia la migliore fattibile.

    L'elemento B viene mandato via Ajax con il valore del foreign key verso A contenente l'id di sessione.
    Se l'insert dell'elemento A va a buon fine un update aggiorna i foreign_key degli elementi B con quell'id di sessione agganciandoli all'id dell'elemento A appena creato e viene rigenerato l'id di sessione.
    Se l'insert del B fallisce o l'utente chiude il browser quegli elementi B giá inseriti resteranno lí e ho messo su un garbage collector che ripulisce tutto lo scaduto.
    E' una soluzione che mi consente in caso di errore nel riempimento del form principale recuperare via POST i valori del form principale ovviamente e, tramite select basata sul session_id, anche gli elementi B giá inseriti e che quindi non dovranno essere nuovamente ricreati.

    Questa soluzione è la ottimale ? C'è qualcosa di meglio per gestire una soluzione del genere ?

  2. #2
    Magari nn ho capito bene il tuo problema,
    ma perchè non fai un form unico? così invii insieme i dati alle due tabelle e sei sicuro che se va tutto a buon fine allora si ha l'inserimento, altrimenti in entrambe le tabelle nn si ha nessuna scrittura e quindi nn ha garbage da ripulire.
    ciao
    Ci sono 10 categorie di persone al mondo: chi capisce il codice binario e chi no!

  3. #3
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    Originariamente inviato da Tartufo
    Magari nn ho capito bene il tuo problema,
    ma perchè non fai un form unico? così invii insieme i dati alle due tabelle e sei sicuro che se va tutto a buon fine allora si ha l'inserimento, altrimenti in entrambe le tabelle nn si ha nessuna scrittura e quindi nn ha garbage da ripulire.
    ciao
    Credo tu non abbia capito bene il problema.
    Ho X elementi B da inserire per UN inserimento di elemento A. La soluzione Ajax per gli X elementi B dell'elemento A che si sta creando è, quindi, obbligata.

    E' come se avessi un form per creare squadre di calcio e, nello stesso form, ti fosse possibile anche creare giá gli undici giocatori associati a quella squadra di calcio.

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.