Kom ihåg mig?
Home Menu

Menu


Bästa sätt att lagra formulärinformation?

Ämnesverktyg Visningsalternativ
Oläst 2007-05-16, 09:50 #1
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Jag gör en rapportfunktion i PHP och MySQL där man fyller i en rapport - ett frågeformulär med en punktlista - som man sedan ska se statistik på och kunna jämföra med andra rapporter.

Min fråga är:
Hur lagrar man bäst resultaten i databasen?

Låt oss säga att jag har en tabell som heter rapporter. Jag har då funderat ut tre scenarior:
#1. jag kan spara resultaten i en och samma kolumn, vilket kanske blir knepigt när men sedan ska försöka plocka ut informationen.

#2. Jag kan också välja att lägga varje svar i en egen kolumn. Men då måste jag i förväg bestämma vilka frågor som ska vara med i formuläret - med andra ord så förlorar jag lite i skalbarheten.

#3. Ett tredje alternativ skulle vara att spara varje varje svar i en egen rad tillsammans med rapportID, datum och användarID till exempel. Nackdelen där är väl att det sparas väldigt mycket data i onödan och det görs väldigt många SQL anrop mot databasen varje gång man ska spara en rapport.

Tankar och tips kring detta?
Micke_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-16, 12:25 #2
melin melin är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2003
Inlägg: 1 396
melin melin är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2003
Inlägg: 1 396
spara som ett csv fält.. dvs värde,värde,värde,värde - så gör jag när jag behöver spara ett okänt antal ID-nummer på något sätt
melin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-16, 15:04 #3
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Citat:
Originally posted by melin@May 16 2007, 12:25
spara som ett csv fält.. dvs värde,värde,värde,värde - så gör jag när jag behöver spara ett okänt antal ID-nummer på något sätt
D.v.s. som alternativ nr. 2?
Micke_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-16, 15:14 #4
melin melin är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2003
Inlägg: 1 396
melin melin är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2003
Inlägg: 1 396
nej

alla ID värden i samma kolumn.. nu t.ex har jag byggt en sida åt min far där hans kunder väljer en hög med kategorier

de kategoriID'n lagrar jag i ett fält som heter t.ex "categories" och i den då ligger t.ex "47,15,84,12,97" på en och en annan kanske har "13,67" osv
melin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-16, 17:12 #5
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Citat:
Originally posted by melin@May 16 2007, 15:14
nej
alla ID värden i samma kolumn.. nu t.ex har jag byggt en sida åt min far där hans kunder väljer en hög med kategorier
de kategoriIDn lagrar jag i ett fält som heter t.ex categories och i den då ligger t.ex 47,15,84,12,97 på en och en annan kanske har 13,67 osv
Alltså som alternativ nr. 1, att jag sparar svaren kommaseparerade i en och samma post?
Micke_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-16, 18:14 #6
melin melin är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2003
Inlägg: 1 396
melin melin är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2003
Inlägg: 1 396
japp - så gör iaf jag
melin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-16, 21:44 #7
vco-systemss avatar
vco-systems vco-systems är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2004
Inlägg: 774
vco-systems vco-systems är inte uppkopplad
Mycket flitig postare
vco-systemss avatar
 
Reg.datum: Dec 2004
Inlägg: 774
Citat:
#3. Ett tredje alternativ skulle vara att spara varje varje svar i en egen rad tillsammans med rapportID, datum och användarID till exempel. Nackdelen där är väl att det sparas väldigt mycket data i onödan och det görs väldigt många SQL anrop mot databasen varje gång man ska spara en rapport.
Jag skulle ha kört på alternativ 3 och lägga till en kolumn med "FrågeID" blir betydligt enklare att behandla senare om man till exempel vill plocka fram alla svar på fråga 5.
vco-systems är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-17, 09:25 #8
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Citat:
Originally posted by vco-systems@May 16 2007, 21:44
Jag skulle ha kört på alternativ 3 och lägga till en kolumn med "FrågeID" blir betydligt enklare att behandla senare om man till exempel vill plocka fram alla svar på fråga 5.
Det har du en poäng i. Nackdelen är ju som sagt att det sparas en massa data i onödan + att man måste köra SQL INSERT för varje fråga (om jag har förstått saken rätt)
Micke_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-17, 10:27 #9
DeSotos avatar
DeSoto DeSoto är inte uppkopplad
Flitig postare
 
Reg.datum: Oct 2005
Inlägg: 323
DeSoto DeSoto är inte uppkopplad
Flitig postare
DeSotos avatar
 
Reg.datum: Oct 2005
Inlägg: 323
Trean helt klart. Att oroa dig för antalet databasanrop redan nu är för tidig optimering. Med trean blir ditt system mycket med strukturerat.
DeSoto är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-30, 14:09 #10
Emjs avatar
Emj Emj är inte uppkopplad
Medlem
 
Reg.datum: Jun 2005
Inlägg: 78
Emj Emj är inte uppkopplad
Medlem
Emjs avatar
 
Reg.datum: Jun 2005
Inlägg: 78
Citat:
Originally posted by melin@May 16 2007, 15:14
nej

alla ID värden i samma kolumn.. nu t.ex har jag byggt en sida åt min far där hans kunder väljer en hög med kategorier

de kategoriID'n lagrar jag i ett fält som heter t.ex "categories" och i den då ligger t.ex "47,15,84,12,97" på en och en annan kanske har "13,67" osv
Då bryer du ju mot första normalformen, vilket kanske inte är jättebra.
Emj är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:06.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017