Расшифровка PHP кода

Alexaz

Новичок
Расшифровка PHP кода

Всем привет,ребята помогите разобраться с php кодом,о чем тут говориться?!


$query=@mysql_query("select `ltime` from users where ltime < '".(time()-`1*24*3600)."' order by `ltime` limit 1;");
$dq=@mysql_fetch_array($query);
if($dq) {
@mysql_query("delete from users where counter = 0;");
@mysql_query("update users set counter=0, outcounter=0, ltime='".time()."' where 1;");
}
$noch=date("H:i:s");
if($noch=='00:00:00') { @mysql_query("UPDATE users set counter=0, outcounter=0 where id!=0;");
}
$i=0;



P.S. буду очень благодарен за помощь!
 

Фанат

oncle terrible
Команда форума
Alexaz
этот код работает с базой данных mysql
он написан криворуким программистом.
целью этого кода является, скорее всего, счетчик посетителей.
 

Alexaz

Новичок
Автор оригинала: *****
Alexaz
этот код работает с базой данных mysql
он написан криворуким программистом.
целью этого кода является, скорее всего, счетчик посетителей.
это я знаю, это часть скрипта wap каталога сайтов,по идеи каталог должен обнуляться-обновляться в полночь,но он зараза обновляется под утро и всегда в разное время,никак не могу подстроить под себя,думаю,что эти самые настройки находятся в этих строчках и видать что то тут не верно,поэтому и спрашиваю что да как?
 

Фанат

oncle terrible
Команда форума
если ты знаешь, то зачем спрашиваешь?
но он зараза обновляется под утро и всегда в разное время,никак не могу подстроить под себя
а об этом мы должны были догадаться сами?

поищи другой счетчик, или специалиста, который тебе все настроит
 

Alexaz

Новичок
Автор оригинала: *****
если ты знаешь, то зачем спрашиваешь?

а об этом мы должны были догадаться сами?

поищи другой счетчик, или специалиста, который тебе все настроит
клево ты мне помог,спасибо!
 

Fara

Новичок
...могу посоветовать переписать
1. ... ltime < '".(time()-`1*24*3600)."' order by `ltime` ...
на ... $time_fz=time()-`1*24*3600);
ltime < '$time_fz ' order by `ltime`

2.потом это тебе
int time ( void )
Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) до текущего времени.

ЗЫ. скорее ошибка в использовании этой функции...посмотри вместо этой попробуй date() ...тока почитай про нее , разберись что куда вставлять и как обрабатывать...должно проще получиться.

string date ( string format [, int timestamp] )
тип формата -
G-Часы в 24-часовом формате без ведущих нулей От 0 до 23
ну и далее по примеру погляди

$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2001

тоби надо G i s дума дальше сам, пользуй FAQ ...)
 

antson

Новичок
Партнер клуба
Имхо выкинуть кусок кода и написать заново.
так как
если кусок кода вызывается не по крону, а просто при обращении к сайту посетителя, то
шансы что сработает
if($noch=='00:00:00') { @mysql_query("UPDATE users set counter=0, outcounter=0 where id!=0;");
ничтожно малы.

остальная статистика обнулиться при вызове скрипта, таким образом время обновления счетчика из-за дня в день сдвигается в перед на величину дельта равную времени когда должен был бы обновить и когда его фактически вызвали
 
Сверху