我有一个varchar字段名称meeting_date,它存储日期,如mm / dd / yyyy,如 12/25/2016现在我尝试从db中获取结果,其中月份和年份与表单请求中的meeting_date匹配,如下所示,但我没有得到结果
$y =$_REQUEST['y'];
$m =$_REQUEST['m'];
$date = "$y/$m";
$table = mysql_query("SELECT * FROM records WHERE meeting = 'Yes' AND (meeting_date LIKE '%".$date."%') ORDER BY id DESC");
$rows = mysql_fetch_assoc($table);
感谢您的时间和帮助
答案 0 :(得分:1)
假设您的输入是格式为dd / mm / yyyy的字符串,您可以使用str_to_date和date_format
mysql_query("SELECT *
FROM records
WHERE meeting = 'Yes'
AND date_format(str_to_date(meeting_date, '%d/%m/%Y' ), '%Y/%m')
= date_format(str_to_date ($date, '%d/%m/%Y') , '%Y/%m')
ORDER BY id DESC");
答案 1 :(得分:0)
meeting_date LIKE '%".$m."/%"."%/".$y."%'.
你有一个月和一年之间的日子。
如果您可以将varchar字段更改为日期并格式化查询后在网站上的显示方式,那会好得多。然后您的查询将如下所示:
MONTH(meeting_date) = $m AND YEAR(meeting_date) = $y