php: Bugün 2010-05-08 21:04:06 için, nasıl ben 30 gün bu süreyi bölebilirsiniz?

2 Cevap php

Zaman uzunluğundan

2010-01-09 21:04:06 **to** 2010-02-08 21:04:06

nasıl her biri 30 gün aralıklarla tarihi + ne zaman geçebilirim?

Yani almalısınız

2010-02-09 21:04:06
2010-03-09 21:04:06
2010-04-09 21:04:06
2010-05-08 21:04:06

Yani her gün, bir komut dosyası yukarıda birini maçları görmek için bugünün tarihini kontrol edecektir. Bir maç güncelleme varsa tüm satırlar bugün önce eklendi.

$point1 = "2010-02-09 21:04:06"

if (date("Y-m-d h:m:s") >= $point1){

mysql_query('UPDATE table SET status='checked' WHERE lastadded < $point1');

}

2 Cevap

Bugünden itibaren 30 gün strtotime() vasıtasıyla hızlı bir şekilde yapılabilir Başlarken.

$nextMonth = date("Y-m-d H:i:s" ,strtotime("+30 days"));

PHP kullanmak için iyi bir nedeniniz yoksa, ben bu sorgu için harici mantık güvenmek gibi bu görev için MySQL kullanarak öneririm.

Ben MySQL aşağıdaki sorgu ile sizin için bu işi yapmasına izin öneririm:

UPDATE table SET status='checked'
WHERE lastadded < DATE_SUB(NOW(), INTERVAL 30 DAY);

Ingilizce bu, daha 30 gün önce "lastadded" olduğunu her satır günceller.