I'm having a play with MYSQL, PHP and WordPress but am stuck on something I can't figure out. I'm not a PHP developer but have done plenty of plsql in the past which may or may not be helping !
I have two tables. table_1 is a 'reference' and has a date field. When a record is inserted into table_2 I would like to populate the column table_2.date dependant on the value in table_1.date. The logic is if table_1.date is > today I would like to return 'last tuesday' from that future date otherwise I would like to return 'next tuesday' from today.
I've learnt if I create dates I can do the following $date->modify('last tuesday') and I've learnt if I want to test dates against themselves I need to convert the fields to timestamps first.
So far I have the following (the echo's where just trying to help me see what I had where, rather than having inserts) :
[code]
global $wpdb;
$querystr ="select date from table_1 where id=blah";
$myrows = $wpdb->get_results($querystr, ARRAY_A);
if ($myrows) {
foreach ( $myrows as $myrow ) {
// what do I have from the table ?
echo 'date: ' . $myrow['date'] . '<br/>';
// setup the variables I need
$today_end = strtotime('tomorrow');
$date_timestamp=strtotime($myrow['date']);
if ($date_timestamp >= $today_end) {
// return last tuesday from that date
$new_date->modify('last tuesday');
echo 'date last tuesday : ' . date_format($date, 'Y-m-d') .;
} else {
// Return next tuesday from today
$new_date->modify('next tuesday');
echo 'date next tuesday : ' . date_format($date, 'Y-m-d') .;
}
}
}
else {
?><h2Nothing Found</h2><?php
}
[/code]
Where I believe I'm going wrong is in with $new_date->modify('blah'); If $new_date is a created with $new_date=date_create('2015-06-24'); for example the ->modify works perfectly, but I want to use the variable returned from $myrow['date']
I obviously have some sort of datatype mismatch going on or have mixed two incompatible methods. Can anyone point me in the right direction ?
Thanks