当前位置:Gxlcms > PHP教程 > php依据输入开始时间结束时间获取数据库中表中记录

php依据输入开始时间结束时间获取数据库中表中记录

时间:2021-07-01 10:21:17 帮助过:2人阅读

php 根据输入 开始时间 结束时间 获取数据库中表中记录
我要做的是一个统计页面 查询条件是根据输入(js点击选择时间)开始时间 结束时间 点确定按钮查询这时间段记录
数据库字段:
id int(10)
ip varchar(50)
time varchar(50)
type varchar(50)

开始日期: 结束日期:

下面是一个表格:
内容是类型和对应数量

请各位帮下忙,刚接触统计




------解决方案--------------------
开始日期:timeStart" onfocus="c.showMoreDay = false;c.show(this);" /> 结束日期:timeEnd" onfocus="c.showMoreDay = false;c.show(this);" />

$t1=$_POST['timeStart'];
$t2=$_POST['timeEnd'];
$sql="select type,count(*) from tt where time BETWEEN '$t1' AND '$t2' group by type";
$result=mysql_query($sql);
while($row=mysql_fetch_row($result)){
echo $row[0].' '.$row[1].'
';
}

------解决方案--------------------
time varchar(50)
至少应该校正传入数据符合 time 字段的格式才能比较
他没说,我不知道
------解决方案--------------------
关键就是数据库语句,原理和做法就和你按ID查询一样的。SQL语句二楼已经给出来了。
另外一点的话,楼主可以去下载个时间选择插件,毕竟让用户手动输入时间是很不理想的。介绍一个jq的 jquery-calendar 网上有很多种样式表,可以自己选样式。
------解决方案--------------------
time varchar(50)
你保存的时间是字符串,那么
2012.12.14 10:43
2012/12/14 10:43:20
2012-12-14 10:43:31p
都是合法的日期
如果表单传入的是 2012/12/14 10:43:22
那么至少有两个是比配不到的



引用:
xuzuning 您说的不太懂是说插入时间之前先判断下格式吗
xiebuqing 我是下载的日历插件用户选择时间
还一个问题是当用户不查询时间段记录的时候 页面要默认显示数据库里所有类型记录

------解决方案--------------------
那你传入的日期格式是怎样的。
------解决方案--------------------
即便只是年月日
'2012/12/14' 与 '2012-12-14' 也是不相等的

------解决方案--------------------
只要格式能够统一,#1的代码就可以用了
------解决方案--------------------
判断一下就可以了
if(!empty($t1) && !empty($t2)){
$sql="select type,count(*) from tt where time BETWEEN '$t1' AND '$t2' group by type";
}else{
$sql="select type,count(*) from total_counter group by type";
}
$result=mysql_query($sql);

------解决方案--------------------
这样写好些,能适应各种情况
$t1 = $_POST['timeStart'];
$t2 = $_POST['timeEnd'];
$t = array(1);
if($t1) $r[] = "time>='$t1'";
if($t2) $r[] = "time<='$t2'";
$t = join(' and ', $t);

$sql = "select type,count(*) from total_counter where $t group by type";

人气教程排行