I have looked everywhere, I've figured out how to add x amount of days to the current date, or take away x amount of days from the current date. But let's say I have a date stored in my database as "0000-00-00", that is not the current date. How can I take that date and add a certain number of days to it?

I'm using php with a mysql database. I did find one sql command that works when I run it in the sql command line, but not on php. It's SELECT DATE_ADD('$mydate', INTERVAL 14 DAY) Of course in the command line I put an actual date in the $mydate portion. But in php, it looks like this: $next_date=mysql_query("SELECT DATE_ADD('$mydate', INTERVAL 14 DAY)"); $mydate is just a date in the form 0000-00-00 pulled from somewhere else in my database. But it keeps spitting out "Resource id #8."

What's a simple way to add some days to a given date?

Member Avatar for iamthwee

>0000-00-00

This is meaningless. At least say something like: yyyy-mm-dd

Not exactly meaningless, that's the format you have to put in the mysql table to tell it what format you want. Ok, my date format is yyyy-mm-dd.

>$mydate is just a date in the form 0000-00-00 pulled from somewhere else in my database. But it keeps spitting out "Resource id #8."

That means $mydate is not what you expect. It's probably the result of mysql_query(). Use mysql_fetch_array() or mysql_result() to get the value.

Member Avatar for fatihpiristine

remember the code that i gave to increase numbers by one... change to datediff and it will work :)

$AddOneDay = " mycolumn BETWEEN date_format(Now() + INTERVAL 1 DAY,'%e/%c/%Y - %H:%i:%s') AND date_format(Now(),'%e/%c/%Y - %H:%i:%s') ";

how many days you want, change that 1 to any number... :)

I have looked everywhere, I've figured out how to add x amount of days to the current date, or take away x amount of days from the current date. But let's say I have a date stored in my database as "0000-00-00", that is not the current date. How can I take that date and add a certain number of days to it?

I'm using php with a mysql database. I did find one sql command that works when I run it in the sql command line, but not on php. It's SELECT DATE_ADD('$mydate', INTERVAL 14 DAY) Of course in the command line I put an actual date in the $mydate portion. But in php, it looks like this: $next_date=mysql_query("SELECT DATE_ADD('$mydate', INTERVAL 14 DAY)"); $mydate is just a date in the form 0000-00-00 pulled from somewhere else in my database. But it keeps spitting out "Resource id #8."

What's a simple way to add some days to a given date?

you must use mysql_result to get the date.

$query="SELECT DATE_ADD('$mydate', INTERVAL 14 DAY)";
$result=mysql_query($query)

$next_date=mysql_result($result,0,"*date field on your table");

Thanks guys, that got it working right.

<?php
$num_days = 20;
echo date("M-d-Y", mktime(0, 0, 0, m, d, yyyy)+$num_days*60*60*24);
?>

The above is a purely php way of finding the number of days from a certain date. In the date, notice I put m and d and NOT mm and dd. For mktime use 8, not 08 or you will get the wrong date. This is my first post on daniweb, hope everything views OK.

Member Avatar for fatihpiristine

even sql can do this but some ppl hate it you know.

1

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.