1

昨日、時間を計算するために別の質問をしました。

必要なものはすべて最初のテーブルで既に与えられているため、プロジェクトに 2 番目のテーブルを使用しても意味がないことに気付きました。したがって、今のところ、2 つのタイムスタンプを挿入する 2 つのテーブルを使用します。

$time = "INSERT INTO table2 ( a, b, c) VALUES (NOW(),NOW() + INTERVAL 14 DAY,(unix_timestamp(NOW()+ INTERVAL 14 DAY)) - unix_timestamp(NOW()))";

すでに述べたように、2 番目のテーブルがなくても同じ結果が得られるので、はるかに簡単になる可能性があります。今私の問題は、phpでtimefunctionsを使用したのはこれが初めてです。よくわからない機能がたくさんあります。

私の問題を解決するには、次のようなものを使用できると思います。

$row = fetch_assoc()
$old_timestamp = $row->b;

$actual_time = mktime(); //which makes an actual timestamp
$seconds = '1209600'; //which is exactly the timeperiod of 14 days
$added = $old_timestamp + $seconds; //which adds the seconds to the old timestamp and should be the same as NOW() + INTERVAL 14 DAY from the VALUE of the query
$date_to_check = $added - $actual_time;
   if $date_to_check <= 0 { 
     do something }

これは可能ですか?どなたかお力添えいただけると大変助かります。どうもありがとう。

アップデート

私が考えていることを知りたいすべての人のために。実際の方法のコードは次のとおりです。

$time_check = $db->query("SELECT (B <= NOW()) AS var FROM table2 WHERE x='$x'");         
            while ($row = $time_check->fetch_object()){ 
                if (($row->var != 0) && ($var1 === '0')){
                        $update_status = $db->query("UPDATE table1 SET var1='1' WHERE x='$x'");{
                            $delete_timecount = $db->query("DELETE FROM table2 WHERE x='$x'");
                        }
                }
            }

2番目のテーブルなしで同じ結果を達成したいと思います。

4

1 に答える 1

1
于 2012-04-04T21:06:56.693 に答える