27. september 2011 - 23:34Der er
2 kommentarer og 1 løsning
Udvælge poster...
Jeg er ved at lave en lille løbsdatabase, hvor det er planen at løberne skal registreres for hver omgang de løber, med scan af en stregkode. Jeg har så en db med følgende ID; timestamp
Jeg har så brug for en funktion der kan fortælle mig hvor mange omgange en løber har foretaget, altså en countRunner(ID) der returnerer et antal. MEN jeg kan ikke bare bruge count på min database, da en løber god på samme omgang kan være registreret flere gange (fx ved læsning af stegkoden 5 gange kort efter hinanden). Jeg har altså brug for at kunne sorterer en række registreringer fra, kriteriet er at der skal være min 2 min. mellem to registreringer for at de begge tæller. Nogen der kan hjælpe med med en sådan funktion?
Desuden skal keg også gerne bruge en timeRunner(ID), der udregner tiden for en given løber mellem første registrering og den sidste,forstået på den måde at hvis der på sodste omgang sorteres tider fra (inden for 2 min.), er det den første scanning der skal bruges som sidste tid... Nogen bud på det?
Måske er det nemmest i mysql at søge efter alle værdier uanset tidsforskel og i php placere værdierne i en 'dirty' array. Derefter placerer du i en 'clean' array den første værdi af din 'dirty' array og derefter alle andre værdier fra den 'dirty' array der er mindst 120 sekunder større end sin forgænger. Så kan du med din 'clean' array tælle antal runder ved count($cleanArray) - 1, og du kan tage totaltiden som $cleanArray[count($cleanArray - 1]) - $cleanArray[0].
Jeg lavede en tabel kimkochrasmussen med felterne runner og scan. Der kørte jeg nedenstående kode, og jeg fik de forventede værdier i min $cleanArray.
Hvis du så vil bruge systemet for eksempel til meget korte runder hvor en runde meget vel kan tage mindre end 2 minutter, så kan du for eksempel sætte $forskel til 60.
Af hensyn til andre bør måske nævnes at scan skal være af typen TIME og ikke TIMESTAMP (det drillede mig lige lidt)
Men tak for et godt og brugbart svar!
Synes godt om
Ny brugerNybegynder
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.