将此从每月重置改为每天重置


Change this from resetting every month to every day?

我有以下代码,用于计算每个月发送的消息数量。可以改成每天一次吗?我试了好几次,但都不成功。有什么建议吗?提前谢谢你!我对PHP/MySQL相当陌生。另外,我知道当前的MySQL查询已被弃用!:

$vmYear = date("Y"); 
$vmMonth = date("m"); 
$vmfromdate = mktime(0,0,0,$vmMonth,"1",$vmYear); 
$vmtodate = mktime(0,0,0,$vmMonth,"31",$vmYear); 
$verifmessagespermonth = mysql_query("SELECT ID FROM messages WHERE msg_from = '$session_memberid' AND ( time BETWEEN '$vmfromdate' AND '$vmtodate' )"); 
$nummessagesthismonth = mysql_num_rows($verifmessagespermonth); 
} else { 
$nummessagesthismonth = 0; 
} 

通过添加日期(假设您只存储日期),将int保持在与您相同的结构中。如果您存储日期+时间,您可能需要将0,0,0$vmtodate更改为23,59,59

$vmYear = date("Y"); 
$vmMonth = date("m");
$vmDay = date("d");
$vmfromdate = mktime(0,0,0,$vmMonth,$vmDay,$vmYear); 
$vmtodate = mktime(0,0,0,$vmMonth,$vmDay,$vmYear);

如果你喜欢

,这仍然允许你创建其他范围

如果我正确理解了需求,你可以使用这个查询:

SELECT 
  ID 
FROM 
  messages 
WHERE 
  msg_from = '$session_memberid' 
  AND time BETWEEN 
     DATE_FORMAT(NOW() , '%Y-%m-%d 00:00:00' ) 
     AND DATE_FORMAT(NOW() , '%Y-%m-%d 23:59:59' )