0

我想做的是建立一个页面,可以监控一个工厂的可用性,即JCB一天工作了多少小时?我希望有一个按钮可以在页面上更改工厂的状态(简单),但我想跟踪状态何时更改,然后能够计算给定时期的可用性(我的位我坚持)。

我正在努力思考如何构建数据库和 php 脚本以允许我这样做......任何想法/帮助都非常感谢:)

4

2 回答 2

2

这不是解决您的问题的方法,只是一些可以帮助您自己找到解决方案的想法。

首先,拿起一支笔(铅笔)和一张纸,开始写下你的想法,你如何做这个和那个,数据库设计,以及任何你认为相关的东西。过了一会儿,你就会知道如何开始了。

从您提出的想法开始,即使您不相信它是最好的,并且可能存在一些缺陷(如性能)。几个小时后,您可能不得不从头开始,但您将确切地知道您之前遇到的问题,并且可能对您缺少什么/您做对了什么有一个很好的了解。

就是这样。反复试验,这就是编程的工作方式,这样做你会成为一个越来越好的程序员。

PS:如果您想要准确的代码示例,请继续编写代码,并发布与代码相关的问题。

于 2013-02-01T14:08:56.840 回答
2

您可以使用 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_id1 当前处于活动状态,因为stop_time为空。
  • jcb_id2 下降,因为没有null停止时间的记录。

当您单击该按钮时,该页面将检查是否有 JCB 的记录,带有null stop_time.

  • 从 jcb 表中选择 wherejcb_id = ?stop_time is null
  • 如果nullJCB 存在停止时间,
    • 更新记录NOW()- JCB 不工作
  • 否则 - JCB 没有null停止时间记录
    • 插入一条新记录,离开stop_time null- JCB 正在工作

从那里,您可以运行查询来计算启动和停止之间的时间以启动/停机时间。

于 2013-02-01T14:18:47.200 回答