Avatar billede mesterhakkeren Nybegynder
09. februar 2006 - 00:14 Der er 11 kommentarer og
2 løsninger

udregning med dato, hvor lang tid er der gået

hej

jeg har en bruger i en mysql tabel... har et felt der hedder date.

i det felt står der f.eks 2006-01-28 05:06:27.

hvis "2006-01-28 05:06:27" er et problem, så skal i bare sige hvilken anden dato syntax der skal benyttes.

hvis jeg f.eks godt vil have en limit på hvor lang tid han må eksistrere i databasen, og den limit skal udregnes udfra date felte´s værdi.  Hvordan gør man det med PHP ??

det skal være sådan, at der er en variabel der holder de antal måneder, brugeren må leve i...f.eks

$levetid = 2; // antal måneder levetid for 1 bruger


Som udgangspunkt er der kun 1 bruger, jeg kan godt selv fixe koden til at understøtte flere brugere.  det gør det nemmere for jer at hjælpe mig så...

tak for hjælpen
Avatar billede Six Nybegynder
09. februar 2006 - 01:30 #1
En måned(31 dage) i sekunder: (((60x60)x24)x31) = 2678400 sekunder.

Så må det være noget med:

if (!isset($tid) || $tid < (time()-2678400)) {
    $tid = time();
    //bruger smut ind i systemet
} else {
    //bruger du er for gammel.
}

Så skal du selvfølgelig holde øje med de måneder der er kortere en 31 dage.. ;D
Avatar billede mesterhakkeren Nybegynder
09. februar 2006 - 01:33 #2
fjappe:

tak for dit hurtige svar

Men hvis du kan lave det sådan, at jeg ikke skal tage hensyn til måneder.

Du bruger heller ikke MYSQL adgang.  Det er dog nødvendigt før at jeg selv kan regne resten ud.
Avatar billede Six Nybegynder
09. februar 2006 - 01:33 #3
ja ok den skal nok lige rettes lidt til, $tid skal self være et timestamp fra da brugeren blev oprettet, eller da han fik 2måneders grænsen. :D
Avatar billede mesterhakkeren Nybegynder
09. februar 2006 - 01:35 #4
Ok det med månederne er ligemeget.

Jeg tror faktisk også at jeg er med allerede nu.  Klokken er bare lige lidt mange ;)


Jeg får testet det i morgen på et tidspunkt.  SÅ hvis du smider et svar ind nu, så får du dine points i morgen engang.  Jeg smutter nemlig i kasse nu.

Tak or hjælpen
Avatar billede Six Nybegynder
09. februar 2006 - 01:38 #5
Selv tak - det er ingen problem hehe :D - Du spørger bare løs hvis der er noget senere.
Avatar billede Slettet bruger
09. februar 2006 - 07:21 #6
# $row = mysql_fetch_object($SomeQuery);

$DaysInMonth= date("t", $row->Created);

if (!isset($row->Created) || $row->Created < (time()-(60*60*24*$DaysInMonth)) {
    //bruger smut ind i systemet
} else {
    //bruger du er for gammel.
}

Så tager den også hensyn til, hvor mange dage der er i måneden.
Avatar billede mesterhakkeren Nybegynder
09. februar 2006 - 15:24 #7
wicez:

Mange tak for din kode.. den ser også dejlig funktionel ud :)

Jeg har faktisk allerede lavet en løsning med fjappes kode... lig du bare et svar, så smider jeg lige et par points efter dig også...
Avatar billede Slettet bruger
09. februar 2006 - 16:04 #8
Nej ellers tak. Det ville jo være tilnærmelsesvist kriminelt af mig :) fjappe har til fulde fortjent alle pointene.
Avatar billede Six Nybegynder
09. februar 2006 - 16:05 #9
wicez - ingen alarm fra min side, du forbedrede jo mit foreslag hehe :D
Avatar billede Slettet bruger
09. februar 2006 - 16:09 #10
:) ellers tak. Jeg har ikke gjort mig fortjent til noget somhelst herinde ;)
Avatar billede kned Nybegynder
09. februar 2006 - 16:47 #11
Så giv dem til mig, hvis ingen gider at have de point, hehe :D
Avatar billede mesterhakkeren Nybegynder
09. februar 2006 - 16:53 #12
hehe...
Avatar billede Slettet bruger
09. februar 2006 - 17:38 #13
Haha ;o)
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