如果是针对单个用户的,在程序中可以这样解决。
你这个变量和变量的最后一次变动时间需要存在数据库中,然后在程序中定时更新。大概思路1.当用用户登录后
  
  读取变量值($autoVar)和最后更新时间($lastTime)并存为session变量2.用户加载任一页面时(包括登录成功后),执行以下操作  
  
  //当前操作时间
  $nowTime = time();
  //计算与上次更新时间的小时差,并取整
  $diffHour = intval(($nowTime - $_SESSION['lastTime'])/3600);
  //如果大于1小时,则更新
  if ($diffHour >= 1)
  {
  //变量自加 小时数*100
  $_SESSION['autoVar']  += $diffHour * 100;
  
  //时间更新 小时数*3600
  $_SESSION['lastTime'] += $diffHour * 3600;  
  
  //然后将autoVar和lastTime存入mysql中
  }
  
这样用户在线的时会一直更新,如果用户下线了,下一次登录时才更新。

解决方案 »

  1.   

    1)模拟
    设置用户的离开时间和登陆时间。都只保留最新。
    计算登陆-离开得到的时间值。再计算要增加的变量值,在用户登陆的时候UPDATE;
    2)计划任务
    同样要设置那两个字段,
    只是有个程序一直由系统调用在处理;
    LINUX和WIN的自动运行设置不一样,感觉LINUX比较麻烦。