大家好:我正在尝试在我拥有的 PHP 文件中从 MySQL 获取数据。用户传入一个日期(当前由“$selectedDate”表示),我希望查询提取与该日期匹配的所有事件。
问题是 MySQL 日期是 unix 格式,这意味着它有小时、秒等。传入的日期只是日期,所以不会完全匹配。
所以我要做的是获取我的日期,添加一个负 1 天的变量和另一个正 1 天的变量,然后根据该范围提取事件。
问题是它不起作用,我不知道为什么!经过大约 2 天的故障排除和搜索,我依靠你我的 stackoverflow 朋友!
有任何想法吗?
$selectedDate = '9-20-2012';
$dateComponents = preg_split('~[+*/-]~', $selectedDate);
$date1 = mktime(0, 0, 0, ( (int)$dateComponents[0] ), (int)$dateComponents[1]-1, (int)$dateComponents[2]);
$date2 = mktime(0, 0, 0, ( (int)$dateComponents[0] ), (int)$dateComponents[1]+1, (int)$dateComponents[2]);
$query = "SELECT id,title,start, DATE_FORMAT(start, '%Y-%m-%d %H:%i' ) AS startDate, end, url, className FROM $tableName WHERE start BETWEEN '$date1' AND '$date2' ORDER BY start";
$result = mysql_query($query) or die(mysql_error());
$array = array();
while($row = mysql_fetch_assoc($result)){
echo($row);
$array[] = $row;
}
谢谢!