我有一个每天一小时都有数据输入的msql表,因此每个日期输入24次,然后输入一小时字段,如下所示...
如何获取日期范围之间的信息?
这就是我所拥有的,但我认为现在是时候停止工作......
$sql = "SELECT * FROM report WHERE date BETWEEN '$start' AND '$end'";
熙是我希望在日期之前得到信息的表......
单位ID |日期|时间|电源|伏特|当前|
1 10/15/2010 21:00:00 0 220 100
1 10/15/2010 22:00:00 0 220 100
1 10/15/2010 23:00:00 0 220 100
1 10/16/2010 00:00:00 0 220 100
1 10/16/2010 01:00:00 0 220 100
1 10/16/2010 02:00:00 0 220 100
1 10/16/2010 03:00:00 0 220 100
1 10/16/2010 04:00:00 0 220 100
1 10/16/2010 05:00:00 245 220 100
1 10/16/2010 06:00:00 360 220 100
1 10/16/2010 07:00:00 596 220 100
1 10/16/2010 08:00:00 1567 220 100
1 10/16/2010 09:00:00 1568 220 100
1 10/16/2010 10:00:00 1598 220 100
1 10/16/2010 11:00:00 1642 220 100
1 10/16/2010 12:00:00 1658 220 100
1 10/16/2010 13:00:00 1664 220 100
1 10/16/2010 14:00:00 1598 220 100
1 10/16/2010 15:00:00 1527 220 100
1 10/16/2010 16:00:00 980 220 100
1 10/16/2010 17:00:00 410 220 100
1 10/16/2010 18:00:00 208 220 100
1 10/16/2010 19:00:00 0 220 100
1 10/16/2010 20:00:00 0 220 100
1 10/16/2010 21:00:00 0 220 100
1 10/16/2010 22:00:00 0 220 100
1 10/16/2010 23:00:00 0 220 100
1 10/17/2010 00:00:00 0 220 100
1 10/17/2010 01:00:00 0 220 100
1 10/17/2010 02:00:00 0 220 100
日期为DATE
,时间字段为TIME
,电源,电压和电流均为FLOAT
。
$start
和$end
是日期选择器的日期
$start = (isset($_POST['start1'])) ? date("Y-m-d",strtotime($_POST['start1'])) : date("Y-m-d");
$end = (isset($_POST['end1'])) ? date("Y-m-d",strtotime($_POST['end1'])) : date("Y-m-d");
答案 0 :(得分:0)
不,如果你想要所有所有日期的点数,你可以忽略你的时间列,你的查询就可以了。
答案 1 :(得分:0)
您需要从变量$ start和$ end。
中删除单引号通过使用单引号,您将变量设为字符串。
只需使用
$ sql =“SELECT * FROM report WHERE date BETWEEN $ start AND $ end”;
在你的mysql表中,日期的格式为m-D-Y,而在你的php代码中,它的Y-m-d。你的PHP代码中的日期格式应该类似于你的mysql日期格式。