0

過去 5 年間の毎日の行をテーブルに入力する必要がありますか?

E.g
1. 04/11/2012
2. 03/11/2012
3. 02/11/2012
4. 01/11/2012
5. 31/10/2012
6. etc

これは、一度実行してすべてのレコードを挿入する php スクリプトです。

これを行う理由は、データベース内の十分なデータを使用して他のコードのパフォーマンスをテストするためです。

4

3 に答える 3

1

このような?

$date = "2007-01-01";
while ($date != "2013-01-01") {

    //do your query... not going to do any escaping for brevity
    mysql_query("INSERT INTO TABLENAME (SomeDateColumn) VALUES ('$date')");
    $date = date("Y-m-d", strtotime($date) + 86400);
}
于 2012-11-05T14:37:13.380 に答える
1
$now = new DateTime(); // Now

$date = $new DateTime();
$date->sub(new DateInterval('P5Y')); // 5 years ago

while ($date->diff($now))->invert != 1)
{
    // insert $date into database
    // I'll leave that to you, as you were looking for a way to loop over dates

    $date->add(new DateInterval("P1D"));
}
于 2012-11-05T14:43:03.363 に答える
1

これにより、必要な日付形式が得られます。

date('d/m/Y', strtotime($i." days"));

$i は、この日付の前後の日数です。したがって、$i が -1 の場合、1 日前を意味します。$i を増減して、ループを作成できると思います。

于 2012-11-05T14:37:51.060 に答える