Ik ben bezig met een website en ik moet ingevulde formulieren opslaan. Nu moet het eenvoudig zijn om velden toe te voegen of te wissen, en daarom heb ik de velden zelf ook in de DB opgeslagen.
Ik heb twee tabellen:
fields
* field_id (key)
* field_name
data
* record_id (key)
* formulier_id
* field_id
* field_value
Op deze manier kan ik eenvoudig velden toevoegen door die in fields toe te voegen en de waarde in values op te slaan.
Nu, dit werkt vrij goed, maar ik zit een beetje in de war met de methode hoe ik gegevens ga opslaan, of beter, veranderen nadat ze al opgeslagen zijn.
Mijn formulier bevat veel checkboxes, dus het leek me een goed idee om enkel de velden op te slaan die niet default zijn. (default = niet checked). Enkel de velden die aangeduid zijn dus.
Het probleem is nu hoe ik dit aanpak bij een edit van het formulier.
Ik heb een soort van INSERT OR UPDATE IF EXISTS nodig. Als een waarde al in de database staat, vervangen, als het er nog niet staat, invoegen.
Hoe kan ik dit het beste implementeren?
Is eerst de hele fiche uit de DB wissen en daarna opnieuw schrijven een goed idee? Wat als mijn script dan om een of andere duistere reden daartussen stopt? Dan ben ik mijn data kwijt.
Een select van de waardes die er zijn, en daarna een update van die waardes, en daarna een insert van de andere waardes lijkt me nogal omslachtig...
Ideeën zijn welkom!
Ik heb twee tabellen:
fields
* field_id (key)
* field_name
data
* record_id (key)
* formulier_id
* field_id
* field_value
Op deze manier kan ik eenvoudig velden toevoegen door die in fields toe te voegen en de waarde in values op te slaan.
Nu, dit werkt vrij goed, maar ik zit een beetje in de war met de methode hoe ik gegevens ga opslaan, of beter, veranderen nadat ze al opgeslagen zijn.
Mijn formulier bevat veel checkboxes, dus het leek me een goed idee om enkel de velden op te slaan die niet default zijn. (default = niet checked). Enkel de velden die aangeduid zijn dus.
Het probleem is nu hoe ik dit aanpak bij een edit van het formulier.
Ik heb een soort van INSERT OR UPDATE IF EXISTS nodig. Als een waarde al in de database staat, vervangen, als het er nog niet staat, invoegen.
Hoe kan ik dit het beste implementeren?
Is eerst de hele fiche uit de DB wissen en daarna opnieuw schrijven een goed idee? Wat als mijn script dan om een of andere duistere reden daartussen stopt? Dan ben ik mijn data kwijt.
Een select van de waardes die er zijn, en daarna een update van die waardes, en daarna een insert van de andere waardes lijkt me nogal omslachtig...
Ideeën zijn welkom!