私は、私のクライアントの1人がいたずらなフリーランサーによって書かれたちょっとした乱雑なコードを修正するという仕事を与えられました....私は書き直しに大いに熱心ではありませんそれはある時間使用されていたように、今は別の機能を求めたときに問題を引き起こしただけです。データベースはプログラムのさまざまな部分で利用されており、この機能はシステム全体のほんの一部に過ぎません。PHPのmysqlクエリの時間をintフィールドから差し引く
本質的に、スクリプトの目的は、仮想オフィス内のすべての会議を管理することです。 「現在の」会議を表示するには、ページが必要です。これはオリジナルのクエリでした。
時刻は、intフィールドのmysqlテーブルに24時間値として格納されます。たとえば、午後3時43分は1543として単純に保存されます。 新しい要件は、会議がセットアップ時間の余裕を持つことができるようにすることでした。 フリーランサー...「独創的な」解決策は
AND START_TIME<='$CURRENT_TIME'
にこの行をテーブルに別のint型のフィールドを追加し、変更することでした。..
今AND (START_TIME-APPEAR_START_TIME)<='$CURRENT_TIME'
それは文句を言わない、いくつかの会議のためにそれを動作する可能性がありながら、例えば、1405から20分のセットアップ余裕時間で始まる会議は、1385になります。
私は残りを一人で残して、ちょうどAPPEAR_START_TIMEフィールドを引くことができる巧妙なソリューションを探していますクォートの$ START_TIME列エリしかし、分。
アイデア?
これらの列をすべて実際のSTARTとENDの日時列に置き換える小さなスクリプトを作成することはできませんか?その後、すべてのハッキングなしでクエリを書くことができます。 –
私は理解していない、彼らは新しい機能を求め、その過程でデータベースがうまく設計されていないことを発見した?それは非常に不規則です。風刺はさておき、人々はたいていこの「技術的負債」と呼んでいます。最初はただの修正であったものを修正するためにはるかに多くの作業が必要です。 –
私は同意しますが、これは正確にエレガントではなく、私たちの時間を固定する価値はないと思います。それが起こると、私たちはv2をすでに正しく設計されたデータベースで作業しています! – Alex