我想做的是建立一个页面来监控一块植物的可用性,即JCB一天工作了多少小时? 我想要一个按钮来更改页面上植物的状态(简单),但我想跟踪状态何时更改,然后能够计算给定时间段的可用性(我坚持的位)。
我正在努力思考如何构建数据库和 php 脚本以允许我这样做......任何想法/帮助非常感谢:)
您可以使用 JCB ID、开始时间和结束时间的列来构建表,如下所示
jcb_id start_time stop_time
1 2013-01-31 00:00:00 2013-01-31 06:19:00
1 2013-01-31 21:04:00 null
2 2013-01-31 08:00:45 2013-01-31 18:19:00
在上面的示例中:
-
jcb_id
1 当前处于活动状态,因为stop_time
为空。 -
jcb_id
2 关闭,因为没有具有null
停止的记录时间。
当您单击该按钮时,页面将检查是否有带有null
stop_time
的 JCB 记录。
- 从 JCB 表中选择
jcb_id = ?
和stop_time is null
- 如果 JCB 存在
null
停止时间,- 使用
NOW()
更新记录 - JCB 不起作用
- 使用
- 否则 - JCB 没有
null
停止时间记录- 插入新记录,留下
stop_time
null
- JCB 正在工作
- 插入新记录,留下
从那里,您可以运行查询来计算启动和停止以起床/停机时间之间的时间。
这不是解决您问题的方法,只是一些可以帮助您自己找到解决方案的想法。
首先,拿起一支笔(cil)和一张纸,开始写下想法,如何做这个和那个,数据库设计,以及任何你认为相关的内容。过了一会儿,您将对如何开始有所了解。
从你提出的想法开始,即使你不相信它是最好的,并且可能有一些缺陷(如性能)。几个小时后,您可能不得不从头开始,但您将确切地知道您以前遇到的问题,并且可能对您错过了什么/您做对了什么有一个很好的了解。
仅此而已。反复试验,这就是编程的工作方式,这样做你会成为一个越来越好的程序员。
PS:如果你想要准确的代码示例,请继续开始编写代码,并发布与代码相关的问题。