18-08-2009, 18:39
Witam,
napisałem skrypt, który docelowo będzie wykonywany przez CRON'a. Ma on za zadanie wygaszanie rekordów w bazie (tj. zmiana statusu na deactive). Wygasznie ma zajść w 2 przypadkach:
- Gdy ilość będzie równa 0
- Gdy czas z bazy danych + 10 dni będzie dalej (przejdzie lub będzie równy) od aktualnej daty.
Tak napisałem - nie deaktywowało rekordów gdzie został przekroczony czas. Próbowałem również zapytaniami:
Lecz też nic. Proszę o pomoc
napisałem skrypt, który docelowo będzie wykonywany przez CRON'a. Ma on za zadanie wygaszanie rekordów w bazie (tj. zmiana statusu na deactive). Wygasznie ma zajść w 2 przypadkach:
- Gdy ilość będzie równa 0
- Gdy czas z bazy danych + 10 dni będzie dalej (przejdzie lub będzie równy) od aktualnej daty.
Kod PHP:
include("pdo.php");
$kt = time();
$dane = $pdo -> query("select `date` from `goods` where `status` = 'activ'");
$zmiana = 0;
while($data = $dane->fetch(PDO::FETCH_NUM))
{
$zmiana = 0;
if(strtotime($data[0]) + (86400*10) >= $kt )
{
$d = $data[0];
$zmiana++;
$zmiana = $pdo->exec("Update `goods` SET `status`='deactive' WHERE `date`='$d'");
}
}
Kod PHP:
UPDATE `goods` SET `status`='deactive' WHERE DATEDIFF(CURDATE(),`date`)>=10
UPDATE `goods` SET `status`='deactive' WHERE 'ilosc'=0
