进行一些更改后重新发布问题,我之前删除了一些更改。我尽力了,但我不知道如何实现它。
我有一张表fw_invitations
ID OFFICEID Consultationdate ------------------------------ 1 1 16-06-2013 2 1 16-06-2013 3 1 16-06-2013 4 1 17-08-2014 5 1 17-08-2014
$consultationdate 包含用户输入的日期。
$consultationdate
$invcount="Select count(*) as noofinv, Datediff('$consultationdate',max(consultationdate)) as datediffinv from fw_invitations where OFFICEID = 1"; $db->setQuery($invcount); $invcounts=$db->loadAssoclist(); $noofinv=$invcounts[0]['noofinv']; $datediffinv=abs($invcounts[0]['datediffinv']); if($noofinv >3 && $datediffinv <150) { $error_message="Het maximale "; }
我也在尝试这个,但是下面的查询总是导致0
$invcount="Select count(*) as noofinv from fw_invitations where consultationdate between DATE_SUB($consultationdate,INTERVAL 150 DAY) and DATE_ADD($consultationdate,INTERVAL 150 DAY) from fw_invitations where OFFICEID = 1";
我想做的是,如果datediff超过150(5个月),则应在表格中插入不超过3个用户。
除非我输入较长的时间间隔,否则上面的查询无法正常工作。由于我max(consultationdate)在上表中使用的最大日期为2014年8月17日,因此无法验证用户再次输入日期16-06-2013的情况。
max(consultationdate)
简而言之,我想做的是,在5个月的时间内,仅应将3个用户插入数据库。
我更正了$ consultationdate中的单引号,因为它纠正了它的魅力后,每次都会产生0。
$invcount="Select count(*) as noofinv from fw_invitations where consultationdate between DATE_SUB('$consultationdate',INTERVAL 150 DAY) and DATE_ADD('$consultationdate',INTERVAL 150 DAY) from fw_invitations where OFFICEID = 1";