2012-04-04 10 views
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()))"; 

のように、それははるかに簡単と同じ結果が第二のテーブルずに到達することになるかもしれません。今私の問題は、これは私が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 } 

これは可能ですか?助けることができる人がいれば本当に感謝します。どうもありがとう。私が考えているかを知るのが好きなすべての人のために

UPDATE

。実際の方法のコードは次のとおりです。

$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番目のテーブルなしで同じ結果を達成したいと思います。

+1

あなたが達成しようとしていることは私には分かりません。 –

+0

登録して14日後に設定を変更したいのですが – bonny

答えて

1

あなたがしようとしていることを本当に理解できません。あなたが何かをするために誰かの登録後14日が経過したときを認識しようとしているようです。

if (time() > $old_timestamp + 1209600) { 
    // It's been 14 days 
    // Do something 
} 

Iは、単に現在の時刻を返す、timeを用います。 timestampは何ですか?

+0

私の質問は更新されましたが、これが解決策になると思います。 – bonny

+0

これは間違っているようです。 14日経過していなくても更新が実行されます。 – bonny

+0

@bonny固定、今すぐ試してください。私は私のオペレータを逆転させたと思う。 –

関連する問題