|
|
|
| ...может быть. Но скорее всего опять мои личные глюки и глюки моих скриптов. )) А проблема вот в чем: у меня на сайте подсчитывается число гостей по сессиям. Они записываются в базу. По началу вроде все неплохо, но в какой-то момент без особой на то причин (скрипт никак не обновлялся, база тоже в порядке) просто перестает записывать новых посетителей. И единственный способ возобновить их подсчет - это очистить таблицу вручную через пхпмайадмин. В чем может быть причина, может кто знает? У меня никаких соображений на этот счет, незнаю как это дело поправить... =(
Вот этот скрипт подключен к каждой странице сайта:
if(!empty($log_en)){ // определение авторизированных он-лайн: если авторизирован - обновляем дату его посещения сайта.
$update_last = @mysql_query("UPDATE users SET last = NOW() WHERE name_en = '".$log_en."'");
}
$online = @mysql_query("SELECT name FROM users WHERE last > NOW() - INTERVAL '15' minute ORDER BY last DESC");
$count_online = @mysql_num_rows($online);
$sid = session_id();
$query_sid_ad = mysql_fetch_array(mysql_query("select id from 'sid' where 'sid_id' like '".$sid."'"));
if($query_sid_ad == ""){mysql_query("INSERT INTO sid('sid_id', 'data_sid') VALUES('".$sid."', NOW())");} // если текущей сессии еще нет в базе - записываем ее.
else{mysql_query("UPDATE sid SET data_sid = NOW() WHERE sid_id = '".$$sid."'");}
$count_guest = @mysql_num_rows(mysql_query("select id from sid where data_sid > NOW() - INTERVAL '15' minute")); // если уже есть - обновляем дату.
$count_guest = @mysql_num_rows(mysql_query("select id from sid where data_sid > NOW() - INTERVAL '15' minute")); //считаем народ за последние 15 минут
if($count_guest < 1){$count_guest = 0;}
$count_sid_all = @mysql_num_rows(mysql_query("select id from sid")); // считаем всех.
|
В таблице всего три поля - id, sid_id (varchar(100)) и data_sid.
Кстати, сопутствующий вопрос: а возможно ли выбрать гостей не за последние 15 минут/1 сутки, а с определенного времени. Конкретно с нуля часов последнего дня. А то я пыталась вывести гостей за сегодня, но получилось только за последние 24 часа... *_* | |
|
|
|
|
|
|
|
для: Zew
(16.11.2005 в 18:45)
| | Какова структура таблицы? | |
|
|
|
|
|
|
|
для: cheops
(16.11.2005 в 18:47)
| | id - tinyint(3)
sid_id - varchar(100)
data_sid - datetime | |
|
|
|
|
|
|
|
для: Zew
(16.11.2005 в 19:02)
| | А зря вы под id отвели tinyint - туда только 256 записей влазит, т.е. как только у вас накапливается 256 записей всё останавливается, увеличте тип от греха до int - в него больше 4 000 000 влезит... | |
|
|
|
|
|
|
|
для: cheops
(17.11.2005 в 02:51)
| | Пасиб, я об этом как-то не подумала... )) Может из-за этого она и тормозила... | |
|
|
|