现在我有以下查询:
$sth = $dbh->prepare('SELECT * from training ORDER BY startDate ASC LIMIT 4');
然后,我进一步处理它:
if($row['endDate'] > $today && $row['status'] != '2')
如何将if
语句组合到db查询中?我不确定如何查看endDate
并将其与查询中的今天日期进行比较。
答案 0 :(得分:0)
只需:
"SELECT * from training
WHERE endDate > '$today'
AND status != 2
ORDER BY startDate ASC LIMIT 4"
如果endDate是DATE或STRING字段,则有效。或者$今天就像'2015-15-01',例如日期('Y-m-d');
答案 1 :(得分:0)
这会给你一组完全不同的结果;因为你限制了你的查询然后过滤它,很可能没有得到有效的结果。由于您现在正在过滤整个表的结果,因此可以选择更多可能的匹配项。
此外,您特别提及"今天 date ",以便与之进行比较。
$sth = $dbh->prepare(
"SELECT * from training
WHERE endDate > CURDATE() AND status != 2
ORDER BY startDate ASC LIMIT 4"
);