php小白问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 14:28:06
在表单中有按日期查询
从____年__月 至 ____年__月,用的<select>,name分别是y1、m1、y2、m2

在php里应该用Select * From 表名 Where date 来写吧
但好像还得先转换成时间戳?对时间戳实在是没什么了解,谁能具体写一下

你这个问题其实很麻烦,关键y2m2的那个月还要包含,也就是数据要截至那个月的最后一天,不同月份的最后天不是固定的,因此我换个思路来实现,也就是把数据库里面的日期转换为yyyymm的格式,让它在y1m1和y2m2之间,代码如下:

$ym1=sprintf("%04d%02d",$y1,$m1);
$ym2=sprintf("%04d%02d",$y2,$m2);
$sql="select * from 表名 where DATE_FORMAT(日期字段,'%Y%m') between '$ym1' and '$ym2'";

"select * from urtable where `时间字段` > ".$y1.$m1." and `时间字段` < ".$y2.$m2;
至于时间用什么连接的,你看看你的数据库吧,祝你好运:)