1

システムは電話契約比較用です。もともとは、月単位で指定された長さで結果をフィルタリングできました。ただし、これを契約timestampの終了日としてデータベースに保存することを選択しました。

元の PHP は次のとおりです。

$min = min($_POST["length"])-6;
$max = max($_POST["length"]);
$query[] = "length BETWEEN $min AND $max";

要約すると、現時点で私たちが持っているものは次のとおりです。

  1. データベースには、契約の終了日が (タイムスタンプとして) 保存されます。

  2. post 値には、今から何ヶ月続くかが含まれます (例: 7-12 ヶ月の値は 7 になります)

PHP の計算を変更して、データベースから値の間を取得するにはどうすればよいでしょうか?

どうもありがとう、ニック。

4

1 に答える 1

3
<?php
    $diff = 7;     // This may be set to $_POST['length']
    $max = date("Y-m-d");
    $min = date("Y-m-d", strtotime("$diff months ago"));
    $query[] = "DATE(`timestamp_field`) BETWEEN CAST($min AS DATE) AND CAST($max AS DATE)";
?>
于 2012-09-12T11:04:46.287 に答える