1、先给m添加一个上次更改的时间字段,比如change_at,数据类弄推荐int或者timespan,用int会比较好,因为可以用php的time()来取时间对比。
2、定义一个函数get_m(),每次要取m值的时候都通过这个函数取。在取值之前对m进行 *** 作:
function get_m()
{
$now = time();
$change_at = get_change_at();//取得change_at的值,函数自己去写。
$m = read_m();//取得数据库内的真实数值
$time_span = $now - $change_at;
//没有达到更新条件,直接返回;
if ($time_span < 180)
return $m;
$m += floor($time_span / 180);
$change_at += (floor($time_span/180) 180);
//将新的m和change_at写入数据库
save_m($m,$change_at);
return $m;
}
其中的几个函数read_m(),get_change_at(),save_m()根据具体的数据库结构写功能,也可以不要用函数直接把数据库 *** 作代码写在那边。
这样就能保证每次程序取到的值和数据库自动更改的情况下是一样的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)