关于数据库数据自动更改的程序编写(网站程序是PHP+MYSQL)
我不懂所以也不知道问得对不对。我想实现下面的这个功能,希望各位高手帮忙。谢谢!在数据库中,根据时间要求自动更改数据表中的数据。例如:a数据表中有个m数据,我想让m在每隔3...
我不懂所以也不知道问得对不对。我想实现下面的这个功能,希望各位高手帮忙。谢谢!
在数据库中,根据时间要求自动更改数据表中的数据。 例如:a数据表中有个m数据,我想让m在每隔3分钟自动加1。 不管用什么方法,能实现就行了,谢谢! 展开
在数据库中,根据时间要求自动更改数据表中的数据。 例如:a数据表中有个m数据,我想让m在每隔3分钟自动加1。 不管用什么方法,能实现就行了,谢谢! 展开
5个回答
展开全部
如果拥有较高的服务器权限,可以开个定时器在服务器上执行,但是如果是租用虚拟主机空间的话,可以用PHP模拟定时器功能。
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()根据具体的数据库结构写功能,也可以不要用函数直接把数据库操作代码写在那边。
这样就能保证每次程序取到的值和数据库自动更改的情况下是一样的。
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()根据具体的数据库结构写功能,也可以不要用函数直接把数据库操作代码写在那边。
这样就能保证每次程序取到的值和数据库自动更改的情况下是一样的。
展开全部
高级的数据库管理软件(比如Oracle)有计划任务这一项,可以在那里头设置
一般的就只能借助第三方软件了
一般的就只能借助第三方软件了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
开个定时器在服务器上执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
命令行调用计划任务
php可以调用服务器的命令行
php可以调用服务器的命令行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以考虑借助第三方软件来控制你那数据变更!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询