Avatar billede chapper1988 Nybegynder
29. november 2011 - 11:37 Der er 12 kommentarer

Udregne fra en database?

Hej allesammen, håber at jeg har placeret det i den rigtige kategori.

Jeg er i gang sammen med nogle andre, ved at skrive nogle artikler på en fælles hjemmeside. Der har vi blandt andet madopskrifter, så derfor ville jeg lige spørge, hvis vi gerne ville have lavet sådan, man kan indtaste de mad varer der bliver tilsat madretten, hvor den så ud fra det man har indtastet, så automatisk udregner kcal, protein, fedt osv, hvordan ville det være nemmest at lave??

Her er et eksempel på hvad vi også har tænkt på at lave.

http://i41.tinypic.com/2wdvthy.png

Går lidt ud fra ved hjælp fra en database på en måde?

Med venlig hilsen

chapper1988
Avatar billede claes57 Ekspert
29. november 2011 - 11:46 #1
det er en kæmpe database, du skal have gang i. Der er forskel på kylling/kogt/stegt/grille med/uden skind.

USA har en på http://www.ars.usda.gov/Services/docs.htm?docid=22113
fx access-database på 20mb
Der er også beskrivelser af felter på siden.
Jeg har ikke mødt en tilsvarende dansk udgave.
Avatar billede chapper1988 Nybegynder
29. november 2011 - 11:57 #2
Tak for det hurtige svar :)

Ja jeg ved det sikkert tager flere måneder, men det er heller ikke noget vi skal have færdig lige nu og her.

Kigger lige på det :)
Avatar billede claes57 Ekspert
29. november 2011 - 12:07 #3
hvis du tager ascii-versionen så kan du åbne den i en passende editor (notepad er ude), og oversætte med søg/erstat.
Nogle mål/felter skal også omregnes til dansk vægt/mål (vi bruger fx ikke fl.oz men ml, og 29,6ml er et dumt tal = 1 fl.oz)
Avatar billede chapper1988 Nybegynder
29. november 2011 - 12:13 #4
Okay prøver mig lige frem i aften. Vi har ellers nogle udregninger til forskellige produkter på det danske marked. Men det kan måske være nemmere på den måde du forslår.
Avatar billede claes57 Ekspert
29. november 2011 - 12:27 #5
du kan måske overveje at blive sponseret med data. Hvis du fx vælger en stille reklame for COOP på sitet, så har de jo alle data til deres produkter liggende et sted.
Avatar billede JensPeterSvensson Nybegynder
29. november 2011 - 13:26 #6
Men ellers er det vel bare at starte fra en ende af.

Hvis du laver en tabel:

id
navn
mængdetype
protein
kulhydrat
fedt
energi

Værdierne, der gemmes, er fra 1gram af varen.

Så er det vel bare, når du har en opskrift, at løbe ingrediense listen igennem gange tallene med mængderne og summere resultatet op.

100 gram havregryn:

Slå op i databasen havregryn
protein 0,132  kulhydrat 0,682 fedt 0,065 energi 3,841

Gang med 100:
protein 13,2  kulhydrat 68,2 fedt 6,5 energi 384,1


Den tænkte, måske fejl tænkt, fordel ved at gemme som værdien ved ét gram er at det er lettere at finde værdien ved en beskrevet mængde.

Alternativt skulle du ud og have flere rækker på samme vare f.eks for 100g, 150g, 200g smør.
Avatar billede danco Nybegynder
29. november 2011 - 16:01 #7
Hold da op et projekt at kaste sig ud i.
Du får, som sagt, utrolig svært ved at lave en ordentlig dataindsamling til din database. Derudover skal du så bagefter sikre at databasen har en ordentlig hastighed. 
Jeg tænker også, havregryn er jo ikke bare havregryn. Der findes mange producenter af havregryn og alle har et forskelligt fiberindhold osv, så du bliver nødt til at have producent mv i din database også.

Men hvis vi antager at du har fået samlet al data ind og de ligger en database der er kører fornuftigt mht hastighed så er det sådanset bare at udføre beregningerne , du kan vælge at gøre det i PHP eller javascript for den sags skyld.
Avatar billede chapper1988 Nybegynder
29. november 2011 - 16:53 #8
Jeg kom til at tænke på kan man skrive æøå i en database?

Hvis jeg f.eks. skal skrive æble, eller noget i den stil.

Ser det ikke meget rigtig ud at skrive det sådan i databasen:

id
navn: Havregryn
mængdetype: gram
protein: 0,13
kulhydrat: 0,68
fedt: 0,07
energi [kcal]: 3,87

Og hvis det skulle være stk:

id
navn: Æble 1 stk
mængdetype: stk
protein: 0,5
kulhydrat: 20
fedt: 0,5
energi [kcal]: 86,5

Til danco, vi ved der er flere mærker, så vi vælger blandt nogle af de største, ellers er det sådan at der efterfølgende kommer flere og flere til som tiden går, ellers at brugerne selv lige kan rette tallene inden de bliver tilføjet.

Som sagt ved vi det er et stort projekt, men det er noget vi ville forsøge at lave alligevel. Vi regner med det ville komme til at se og virke godt ud til allersidst.
Avatar billede claes57 Ekspert
29. november 2011 - 17:07 #9
bare brug utf-8 hele vejen igennem, så er der ingen problemer med æøå
Avatar billede chapper1988 Nybegynder
29. november 2011 - 17:12 #10
Tak claes 57, for at svare på det omkring æøå :)
Avatar billede chapper1988 Nybegynder
29. november 2011 - 19:11 #11
Hvilken datatype ville i kalde:

navn
mængdetype
protein
kulhydrat
fedt
energi

For går ikke ud fra det er helt lige meget. Eller ved i hvor man kan læse om sådan en database jeg/vi er i gang med? Gerne hvis det er en video fra youtube.

Med venlig hilsen

chapper1988
Avatar billede claes57 Ekspert
29. november 2011 - 20:41 #12
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester