我们如何在核心PHP中创建增量计时器。当用户点击开始按钮计时器将增加一秒钟,当用户点击按钮时,计时器值存储在数据库中。然后用户将恢复他们的工作,当用户点击暂停按钮时,计时器将自动从那里开始。用户将点击停止按钮,总工作时间将存储在数据库中
注意:我们不希望任何类型的插件纯编程。
答案 0 :(得分:0)
您需要两个按钮。一个start
另一个stop
。
点击start
时,您向服务器发出Ajax请求(因为您将问题标记为javascript
)。
您在数据库timer
id | user_id | state | time
Ajax请求对数据库进行查询:
UPDATE timer SET state = 1 WHERE user_id = :user
如果当前用户没有此类条目,请先添加一个:
"INSERT INTO timer (user_id, state, time) VALUES ({$userId}, ".User::STATUS_INACTIVE.", '".time()."')
您的Cron作业每1秒执行一次对数据库的查询:
UPDATE timer SET time = time + 1
当用户点击stop
时,您发出另一个更新数据库并返回当前时间的请求:
UPDATE timer SET state = 0 WHERE user_id = :user;
SELECT time FROM timer WHERE user_id = :user;
正如您所看到的,没有javascript就无法执行用户命令。
如果您的用户使用CLI,则可能。