私がやりたいのは、プラントの可用性を監視できるページを設定することです。つまり、JCBは1日に何時間稼働していましたか。ページ上でプラントのステータスを(簡単に)変更するボタンを1つにしたいのですが、ステータスがいつ変更されたかを追跡して、特定の期間の可用性を計算できるようにしたいです(ビットI立ち往生しています)。
私はこれを可能にするためにデータベースとphpスクリプトをどのように構造化できるかを考えるのに苦労しています...どんなアイデア/助けも大歓迎です:)
これは問題の解決策ではなく、自分で解決策を見つけるのに役立ついくつかのアイデアです。
まず、ペンと紙を用意して、アイデア、あれやこれを行う方法、データベースの設計、関連性があると思われるものを書き始めます。しばらくすると、開始方法についてのアイデアが得られます。
思いついたアイデアから始めてください。それが最高だと確信していなくても、(パフォーマンスなどの) いくつかの欠陥がある可能性があります。数時間後、おそらく最初からやり直す必要がありますが、以前に遭遇した問題を正確に把握し、何が欠けていたのか、何が正しかったのかについて良い考えを持っているでしょう.
それはそれについてです。試行錯誤、それがプログラミングのやり方であり、そうすることで、あなたはますます優れたプログラマーになります.
PS: 正確なコード例が必要な場合は、先に進んでコードを書き始め、コードに関連する質問を投稿してください。
You could structure your table with columns for JCB ID, start time, and end time like below
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
In the example above:
jcb_id
1 is currently active because the stop_time
is null.jcb_id
2 is down because there is no record with a null
stop
time.When you click the button, the page will check to see if there is a record for the JCB with a null
stop_time
.
jcb_id = ?
and stop_time is null
null
stop time exists for the JCB,
NOW()
- JCB is not working null
stop time record for the JCB
stop_time
null
- JCB is workingFrom there, you can run a query to calculate the time between the starts and stops to get up/downtime.