首先需要PHP实现一个显示列表,列表中有3个时间点。它们是创建时间、传输时间、反馈时间、处理时间、关闭时间。需求:1.以转账时间为起点,如果转账时间+86400秒(1天)后对应授权人没有上报这个id,或者转账时间+864000秒(十天)后,则它也将被标记为超时。2.可以搜索所有列表结果|超时|非超时部分数据表`send_time`timestampNOTNULLDEFAULT'1980-01-0100:00:00'COMMENT'任务发送时间',`first_feedback_time`timestampNOTNULLDEFAULT'1980-01-0100:00:00'COMMENT'任务首次反馈时间',`first_proposal_time`timestampNOTNULLDEFAULT'1980-01-0100:00:00'COMMENT'任务首次处理时间',见代码send_time中转时间first_feedback_time反馈时间默认为1980-01-0100:00:00first_proposal_time处理时间默认为1980-01-0100:00:00#其他mysql逻辑if这里省略(send_time!='1980-01-0100:00:00'ANDTIMESTAMPDIFF(SECOND,send_time,now())>86400,(IF(first_feedback_time='1980-01-0100:00:00'ORTIMESTAMPDIFF(SECOND,send_time,first_feedback_time)>86400或(first_proposal_time='1980-01-0100:00:00'ANDTIMESTAMPDIFF(SECOND,send_time,first_proposal_time)>864000),1,-1)),-1)AStime_out#这里省略其他mysql逻辑MYSQL官方:timestampdiff其他思路可以写计时脚本,把timeout|non-timeoutstatus写到特定字段tips:如果要target超时|非超时搜索,可以在mysql中使用Havingtime_out=$_POST['is_time_out']另外记录一个奇怪的问题解决:groupby数据顺序要包含groupby字段,不然会有可能结果集随机[1]
