![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
输入系统一个“输入开始时间”,一个“持续时间”;
判断这个“输入开始时间”及结束时间是否在某个时间范围内。
我的分析是:
S1 :从DB中取出“输入开始时间”在DB中“开始时间”与“结束时间“之间的记录,如果记录不为空,则这个“输入开始时间”不可以使用。否则转到S2。
S2:“输入开始时间”+“持续时间”=>“输入结束时间”,从DB中取出“输入结束时间” 在DB中“开始时间”与“结束时间“之间的记录,如果记录不为空,则这个“输入开始时间”不可以使用。否则转到S3。
S3:输出“可以使用”。
程序:
if( $row['meet_date_time']!='' )
{
echo "meeting begin time has exist!";
}
elseif( $row1['meet_date_time']!='' )
{
echo "meeting end time has exist!";
}
else
{
echo "meeting time can use!";
}
$row['meet_date_time']是执行这个SQL语句取出的:
select meet_date_time
from meet_info
where CAST('$meet_date_time' as float) - CAST(meet_date_time as float) <= meet_duration/24
and '$meet_date_time' >= meet_date_time
$row1['meet_date_time']是执行这个SQL语句取出的:
select meet_date_time
from meet_info
where meet_date_time >= '$meet_date_time'
and CAST( meet_date_time as float) - CAST( '$meet_date_time' as float) <= meet_duration/24
meet_date_time是DB中存在的会议开始时间,
$meet_date_time是输入的要判断的开始时间,
meet_duration是会议的持续时间。
以上逻辑上应该没有错吧!
可是判断时间是否存在还是不准确,
我判断应该是SQL中where判断格式上有错误,
请各位大侠帮我看看where判断,用这种方式是否正确?

