Avatar billede leshrac Nybegynder
30. marts 2007 - 19:36 Der er 11 kommentarer og
1 løsning

beregn en masse dato noget.. er gået lidt i stå med det

Jeg har på min database en dato

$myDate = $dateFromDB["date"];

Jeg vil have at dagen fra databasen skal plusses med 7 dage og dernæst skal den tage datoen i dag og beregne hvor mange dage der er tilbage fra dagen i dag til (datoen fra databasen+7DAYS)

Hvordan gør jeg det ? er gået i stå
Avatar billede blackscorpion Nybegynder
30. marts 2007 - 19:48 #1
$myDate = $myDate+7;
$now = time();

$daysLeft = $myDate - $now;

if($daysLeft < 0) {
echo "Ingen date tilbage";
}
{
echo $daysLeft;
}
Avatar billede blackscorpion Nybegynder
30. marts 2007 - 19:49 #2
ehh det gik lidt stærkt. lol

hvordan lægger dit tidsformat i databasen ? som et unix_timestamp ?
Avatar billede blackscorpion Nybegynder
30. marts 2007 - 19:54 #3
$myDate = $myDate+604800; // Adding 7 days.
$now = time(); // Getting current time.

$d = $myDate - $now; // Withdraw myDate from current time, getting days left.

if($d > "86400") {
echo "Days Left: " . $d/86400;
}
else {
echo "Days Left: 0";
}
Avatar billede leshrac Nybegynder
30. marts 2007 - 19:59 #4
Jeg smider datoen ind i databasen i en date row og jeg bruger almindelig NOW() når jeg smider den op!

$myDate = (d-m-Y); fra dagen den blev smidt op..
Avatar billede blackscorpion Nybegynder
30. marts 2007 - 20:02 #5
kan du ikke lige smide et eksempel på en dato som den lægger i databasen?
Avatar billede leshrac Nybegynder
30. marts 2007 - 20:04 #6
2007-03-30 der var en :)
Avatar billede blackscorpion Nybegynder
30. marts 2007 - 20:05 #7
dang... 2007-03-30 20:04:28

så er vi ude i noget split og noget mktime... 2 secs.
Avatar billede blackscorpion Nybegynder
30. marts 2007 - 20:05 #8
den har ikke tiden med ?
Avatar billede blackscorpion Nybegynder
30. marts 2007 - 20:19 #9
list($year, $month, $day) = explode("-", $myDate); // Splitting the date in smaller chunks.

$mk_date = mktime(0,0,0,$month,($day+7),$year); // Converting it to seconds and adding 7 days.

$now = time(); // Getting current time.

$d = $mk_date - $now; // Withdraw myDate from current time, getting days left.

if($d > "86400") { // Checking if there is more than 1 day left.
$days = $d/86400; // Dividing it with days in seconds.
$days_left = strrev(strstr(strrev($days), ".")); // Getting rid of the extended data.
$days_left = str_replace(".","", $days_left); // Removing the last dot.
echo "Days Left: " . $days_left; // Printing out how many days are left.
}
else {
echo "Days Left: 0";
}

Måske lidt voldsomt, men det virker. :D

hvis man tester på den tid du har givet og lægger 7 days til, når du et comma nummer, det bliver vendt, fjernet og vendt igen, og til sidst så fjerner så det overskydende punktum i enden.
Avatar billede leshrac Nybegynder
07. april 2007 - 16:46 #10
den virkede :)

lav et acceptsvar :)
Avatar billede showsource Seniormester
07. april 2007 - 16:55 #11
$sql = "SELECT
        DATEDIFF(DATE_ADD(datofelt, INTERVAL + 7 DAYS), datofelt) as dage
        FROM tabel
        WHERE
        datofelt >= CURDATE()";

mysql_query($sql) or die (mysql_error()); // utestet! :O) ( er ikke hjemme... :O[ )
Avatar billede leshrac Nybegynder
24. april 2007 - 17:38 #12
dfgdfg
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