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

这篇博客讨论了如何使用PHP从数据库中查询指定时间段内的记录。用户通过JS选择开始和结束时间,然后提交到后台。SQL查询语句是关键,需要确保时间格式正确。在没有时间参数时,应显示所有类型记录。建议使用时间选择插件以提高用户体验。
摘要由CSDN通过智能技术生成

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

我要做的是一个统计页面 查询条件是根据输入(js点击选择时间)开始时间 结束时间 点确定按钮查询这时间段记录

数据库字段:

id int(10)

ip varchar(50)

time varchar(50)

type varchar(50)

开始日期: 结束日期:

下面是一个表格:

内容是类型和对应数量

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

------解决方案--------------------

开始日期:timeStart" οnfοcus="c.showMoreDay = false;c.show(this);" /> 结束日期:timeEnd" οnfοcus="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";

相关文章

相关视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值