Автоматично изчистване в БД

bganonymous

Registered
Здравейте! В таблицата "users", всеки потребител има поле "today_votes", което показва за днес колко човека са гласували за дадения потребител. :) Искам да направя, всеки ден в 00:00 ч., на всеки един потребител в "users", полето "today_votes" да се нулира и да става "0".
 
Или нещо тaковa:
(Не съм сигурен дaли рaботи. Мисля, че в 00:00 ч. трябвa някой потребител дa refresh-не стрaницaтa, зa дa прорaботи кодa.)

$h = date(H);
$m = date(i);

if($h == 00 AND $m == 00)
{
$update mysql_query("UPDATE tablica SET pole='0'")or die(mysql_error());
}

51 % мисля, че не рaботи, но го пробвaй ;)
 
dmx_cs_manqka каза:
Или нещо тaковa:
(Не съм сигурен дaли рaботи. Мисля, че в 00:00 ч. трябвa някой потребител дa refresh-не стрaницaтa, зa дa прорaботи кодa.)

$h = date(H);
$m = date(i);

if($h == 00 AND $m == 00)
{
$update mysql_query("UPDATE tablica SET pole='0'")or die(mysql_error());
}

51 % мисля, че не рaботи, но го пробвaй ;)
Ще го пробвам, но едва ли ще стане...
 
DirectX каза:
изплзвай cron jobs

PHP:
UPDATE `users` SET `today_votes` = '0';
Не е удачно и не искам да използвам "cron jobs"... Искам това да стане с PHP скрипт.
 
bganonymous каза:
Не е удачно и не искам да използвам "cron jobs"... Искам това да стане с PHP скрипт.

Малко ще се озориш. В този случай трябва да имаш файл(reset.php), който се вмъква в абсолютно всяка страница от сайта ти. + да добавиш и един файл (last_update.txt), където да записваш поледното обновяване (чудих се за вариант да е в бд, вместо файл, но не мисля, че за една стойност си заслужава).
last_update.txt го слагаш в директория на reset.php. И в него слагаш това:
PHP:
$last_update = file_get_contents("last_update.txt");
$today = strtotime('today midnight');

if($last_update < $today) {
file_put_contents("last_update.txt", time());
//и тук една заявка за нулиране
}
 
bganonymous каза:
DirectX каза:
изплзвай cron jobs

PHP:
UPDATE `users` SET `today_votes` = '0';
Не е удачно и не искам да използвам "cron jobs"... Искам това да стане с PHP скрипт.
Защо ? Cron jobs е точно за това. Ако сървъра ти не го поддържа е друг проблем, но ако го поддържа, защо си усложняваш живота..аз лично го ползвам за същата работа. (всеки ден ми изтрива едни записи от базата с данни.)
 
bganonymous каза:
anonimen, става, но можеш ли да ми го направиш в БД, а не във .txt файл?
Опитай сам.
Ние ще помогнем като имаш затруднения за кода.
http://web-tourist.net/login/login/newsearch.php?wtsearch=n&newsearch=FOPEN&x=0&y=0
Тук можеш да намериш доста полезна инфорамция която ти помогне да го направиш :)
 

Back
Горе