Her får du hjelp til å lage hjemmeside med video. Alle verktøy og programmer vi bruker til å lage webside er gratis.
Telle antall dager med PHP
I databasen har jeg registrert datoen når hvert enkelt medlem ble registrert. (member_date)
- Målet er å telle antall dager den aktuelle medlemmen har vert medlem.
Jeg bruker denne "formelen":
<?php
$MemberDaysAgo = (strtotime($data["member_date"]) - strtotime(date("y/m/d"))) / (60 * 60 * 24);
?>Jeg trur det skal være riktig svar, men jeg får ett - (minus)-tegn forran... Det kunne jeg godt ha klar meg uten.
Setningen blir "... for ca -100 dager siden...".
Noen tips til hva jeg kan gjøre der for å slippe det minus tegnet?
Ahhh... tenkte faktisk ikke på den der... hehee... jaja, men da funket det smell vettu... mange takk...
Kommer tilbake til mer matte tipper jeg på når jeg går i gang med statestikk beregningene for medlemene...
Jeg trenger å finne en gitt dato frem i tid samt beregne differansen i ant. dager, uker, mnd. og år mellom dem.
Dette for å beregne 2 ting for medlemmene.
#1 - Hvor lenge har vedkommende vert medlem
#2 - Hvor lenge er det igjen av en prosess
Eneste kjente verdi er når bruker ble medlem.
Så jeg trenger først en funksjon som finner en dato, en gitt tid fremover (eks. 6mnd, 2 år, 5 år) samt fastsette disse datoene som start og stopp.
Så trenger jeg en funksjon som beregner "avstanden" mellom disse. (denne har jeg da).
Forsøkte meg litt frem med strtorime og mktime men fikk det ikke helt til...
Kunne du fortellt litt om hvordan dette løses?
For å vite differansen mellom to ting må selvsagt begge tingene være kjent, mao. start og stopp. La oss ta utgangspunkt i et abonnement. Idet en person betaler for A, så lagres kjøps- og utløpsdatoen for A f.eks. ett år frem i tid.
Du kan så gjøre om stoppdatoen til sekunder siden 01.01.1970, se funksjonen time() i PHP, i MySQL se UNIX_TIMESAMP. Dermed har du grunnlag nok til å beregne differansen fra start til stopp i sekunder.
Videre må du skrive en funksjon som deler opp tiden i måneder, uker og dager. Selv liker jeg å gjøre det mindre avansert. Jeg lagrer utløpsdatoen, og kan strekke meg til å vise antallet dager igjen. Det å dele opp ting i måneder, uker osv ser jeg ingen hensikt med, da folk flest har et godt begrep om tid. Det er også pes mht. antall dager i en mnd og unntakstilfellet i skuddår.
så du anbefaler og forholde seg til dager da altså?
Ja, jeg gjør det. De fleste har jo et begrep om hvor lenge f.eks 120 eller 240 dager er. Ved å stykke det opp i måneder, uker og dager vil du få en lang string, type: "Det er 1 år, 3 måneder, 2 uker og 4 dager igjen til abonnementet ditt løper ut". Da synes jeg det er mye bedre å bare vise "Det er x dager igjen", synes ikke du da?
tenkte ikke at det skulle være så detaljert... tenkte mer at det skulle være en av dem om gangen.
I tekst sammenheng: Du har vert medlem i ca. 119 uker. På tide å gå til neste nivå.
Statestikk: Du har vert medlem i hele 833 dager.
Statestikk er artig å se store tall... Isteden for bare ca. 2 år
Jepp, er moro å se store tall på statistikk, så her ville jeg gått for uker når det blir så lange tidsintervaller. Folk flest deler bare tallet på 50 for å få antall år de har vært med, og dermed har de forståelse for tallet.
Regn ut dager det første året og hvis det er over 365 så deler du bare på 7, runder av og viser antall uker i steden. :)



Hvis du tenker deg at universet starter på 0 sekunder idet en bruker registrerer seg, og så skal du vise hvor mange sekunder det er siden universet startet 5 sekunder etterpå, ville du da tatt:
0 - 5 = -5, eller 5 - 0 = 5 ?
PS: Unødvendig å utføre aritmetikk i telleren også, bare skriv 86400, det er antallet sekunder i et døgn.
Hjelper folk å lage hjemmeside