Gå til innhold

[Løst]Vise resultater i en viss periode fra en sql query


Anbefalte innlegg

Hei!

 

Sliter med et lite problem, klarer ikke og tenke ordentlig. så tenkte jeg skulle gjøre det greit og spørre her om hjelp.

 

Jeg har en database over lisenser til bedriften jeg jobber i, der har jeg registrert utløpsdato..

 

Det som er greia er at jeg vil vise hvilke lisenser som løper ut, så en uke før lisensen går ut, vil jeg at den skal komme opp i "reminder" sjeksjonen av siden.

 

SELECT * FROM av_reg WHERE time > '$date_left'

Denne er grei, men her kommer alle lisensene opp fra dagen jeg registrerte den til den går ut, og det vil jeg ikke. vil at den kun skal vise lisensen når det er kun 1 uke igjen til den går ut.

 

håper noen kan hjelpe meg, skulle egentlig være ferdig idag med prosjektet.

 

- Fredrik :)

Lenke til kommentar
Videoannonse
Annonse

Jeg aner ikke hva i all verden time-kolonnen inneholder eller hva $time_left er, men dersom du kan regne ut et timestamp for når lisensen går ut, så er du i boks. Dette har for øvrig ingen ting med PHP å gjøre.

 

SELECT * FROM av_reg WHERE UNIX_TIMESTAMP() + 7 * 24 * 60 * 60 > time_expires AND UNIX_TIMESTAMP() < time_expires

 

Edit: SELECT * er forresten en utrolig stygg uvane og bør unngås.

Endret av Jonas
Lenke til kommentar

Unnskyld for at jeg ikke ga mer info.

 

$date_left inneholder datoen og tiden for en uke siden, vet ikke hvorfor jeg har den der, fant sikkert ut at jeg måtte ha den :p

 

time inneholder en vanlig TIMESTAMP, altså: 2009-04-24 13:03:23 f.eks. denne datoen er når lisensen går ut.

 

Jeg endret time_expires i sql'en din til time, og da skulle den returnere èn rad, men det gjør den ikke.

Den raden har timestamp: 2009-04-24 13:03:23 - som er i morgen.

 

EDIT: Er klar over at SELECT * er en dårlig måte, skal ordne dette når jeg vet hva jeg skal hente ut av data ;)

Endret av Famen
Lenke til kommentar

Bump?

 

anyways, må uansett konvertere til UNIX timestamp, men vil gjerne vite hvordan jeg gjør det på "rette måten". slik at jeg ikke får problemer senere.

 

og hvordan jeg "decompilerer" datoen slik at jeg kan vise den i et forståelig format på siden :)

Lenke til kommentar

<?php
$old_date = "2009-04-24 13:03:23";
$new_date = date_parse($old_date);
$unix = mktime($new_date['hour'], $new_date['minute'], $new_date['second'], $new_date['month'], $new_date['day'], $new_date['year']);
echo 'Unix: '.$unix."\n";
echo 'Old: '.$old_date."\n";
echo 'New: '.date('Y-m-d H:i:s',$unix)."\n";
?>

Der får du konvertering

 

EDIT:

Ka faen, har de ødelagt

 også nå

 

EDIT2:

Eller så var det bare at jeg skrev en lang seksjon xD

Endret av AlecTBM
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...