Avatar billede jespernerd Nybegynder
23. april 2009 - 13:19 Der er 10 kommentarer

Udsende 3 dage før deadline

Hejsa,
Jeg har et opgavesystem, hvor den skal udsende en e-mail 3 dage før udløbsdatoen på min opgave - hvordan gøres dette?

Min "deadline" er lavet i unix_timestamp

Hvordan henter jeg alle opgaver i systemet som er 3 dage ved at slutte? Altså 3 dage før udløbsdatoen?

SELECT .. FROM opgaver WHERE deadline < time()-3600*24*3

eller lign, jeg aner det ikke - hvad skal jeg gøre? :-)
Avatar billede showsource Seniormester
23. april 2009 - 14:54 #1
$idag = strtotime(date("Y-m-d"));
$imorgen = ($idag+86400);

$sql = "SELECT email FROM opgaver WHERE deadline BETWEEN ".$idag." AND ".$imorgen;
Avatar billede showsource Seniormester
23. april 2009 - 14:55 #2
Hov, det er jo så dem hvor deadline er i dag! :O)
Avatar billede lakridserne Nybegynder
23. april 2009 - 15:10 #3
Brug et cronjob

/lakridserne
Avatar billede jespernerd Nybegynder
23. april 2009 - 15:14 #4
Ja, brug et cronjob, det er jeg da godt klar over, men hvad skal sql syntaxen være??? :-)
Avatar billede showsource Seniormester
23. april 2009 - 15:24 #5
$idag = strtotime(date("Y-m-d")); // Tid i sek. for datoen i dag
$tredage = ($idag+259200); // + tre dage
$midnat = ($tredage+86400); // midnat om tredage

$sql = "SELECT email FROM opgaver WHERE deadline BETWEEN ".$tredage." AND ".$midnat;
Avatar billede jespernerd Nybegynder
23. april 2009 - 15:44 #6
Forstår ikke hvordan den kan gøre det 3 dage før? Kan jeg få lidt forklaring?

<?php
$idag = strtotime(date("Y-m-d"));
$tredage = ($idag+259200);
$midnat = ($tredage+86400);


$hent = mysql_query("SELECT * FROM opgaver WHERE deadline BETWEEN ".$tredage . " AND " . $midnat . "");
while ( $row = mysql_fetch_assoc ( $hent ) )
{
    echo $row['title'];
}
?>
Avatar billede showsource Seniormester
23. april 2009 - 15:55 #7
Det er jo scriptet som skal køres med et cronjob.
Altså selve cronjobbet er jo ikke sat op.
Avatar billede jespernerd Nybegynder
24. april 2009 - 09:19 #8
Nej det ved jeg godt - men forklaring på koden? Du siger mellem 3 dage frem og midnat???? Hvordan kan det blive til 3 dage før?
Avatar billede jespernerd Nybegynder
05. maj 2009 - 15:10 #9
Ikke meget hjælp
Avatar billede showsource Seniormester
06. maj 2009 - 07:36 #10
Nu er jeg ikke helt sikker på dit spm. men:

<?php

$idag = strtotime(date("Y-m-d"));
$tredage = ($idag+259200);
$midnat = ($tredage+86399);

echo"Dato dag: ".date("d/m Y H:i:s", $idag)." - I sekunder: ".$idag;

echo"<p>";
echo"Dato om tre dage: ".date("d/m Y H:i:s", $tredage)." - I sekunder: ".$tredage;

echo"<p>";
echo"Kl. 23.59.59 om tre dage: ".date("d/m Y H:i:s", $midnat)." - I sekunder: ".$midnat;

$sql = "SELECT * FROM opgaver WHERE deadline BETWEEN ".$tredage." AND ".$midnat;

echo"<p>";
echo $sql;

?>
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