Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Wygaszanie rekordów. - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Wygaszanie rekordów. (/thread-wygaszanie-rekordow)



Wygaszanie rekordów. - kajzur - 18-08-2009

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.

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'");
 
 
        }
 

Tak napisałem - nie deaktywowało rekordów gdzie został przekroczony czas. Próbowałem również zapytaniami:

Kod PHP:
UPDATE `goodsSET `status`='deactive' WHERE DATEDIFF(CURDATE(),`date`)>=10

UPDATE 
`goodsSET `status`='deactive' WHERE 'ilosc'=
Lecz też nic. Proszę o pomoc Smile


RE: Wygaszanie rekordów. - Labsta.com - 19-08-2009

Hmm... Tak sobie myślę (na szybko) zakladając, że warunki i SELECT działa, że może UPDATE dać WHERE jakieś ID, bo w tym momencie (pętla) masz dostęp do rekordu, a ty chcesz znów przeszukiwać całą bazę. Dodatkowow polecenie UPDATE może odnościć się do wieleu rekordów w bazie. Z góry sorry jak napisałem jakieś bzdury, ciężki mam dziś dzień Wink