И в этом же духе чтобы каждый час пользователь который просидел в онлайн, время общее записывается в базу начилсялось например +1 балл..
Спустя 1 час, 15 минут, 21 секунда (5.11.2009 - 12:18) Gradus написал(а):
1) Создать таблицу в бд где будет указываться время голоса кто и кому.Дальше бежать по базе смотреть у кого больше голосов начиная с сегодняшнего дня
2)Не особо понял, создаёш сессию юзеру где отмечаеться время захода на сайт формой ввода или куками далее при каждом обновление страницы смотреть прошёл ли час у этой сессии если прошёл то +1 и к сессии прибавляеш час
2)Не особо понял, создаёш сессию юзеру где отмечаеться время захода на сайт формой ввода или куками далее при каждом обновление страницы смотреть прошёл ли час у этой сессии если прошёл то +1 и к сессии прибавляеш час
Спустя 10 часов, 24 минуты, 41 секунда (5.11.2009 - 22:43) Димон написал(а):
1) Пасиб эт я понял как реализовать.. А вот как будет выглядеть функция например чтобы каждый час прибавляла значение +1, к примеру.
Время считаеся в секундах и записывается в базу допустим в базе 166893 это 46 часов 21мин. 3600 это один час. Нужно чтобы каждый час добавлялось +1балл какой-то переменной к примеру.. Никак не пойму как это сделать((
Время считаеся в секундах и записывается в базу допустим в базе 166893 это 46 часов 21мин. 3600 это один час. Нужно чтобы каждый час добавлялось +1балл какой-то переменной к примеру.. Никак не пойму как это сделать((
Спустя 1 час, 42 минуты, 30 секунд (6.11.2009 - 00:25) bret написал(а):
Димон
В таблицу юзеров забиваешь два поля - lastvisit и onlinetime. Будем считать время жизни сессии 10 минут. Т.е. с каждым обновлением страницы lastvisit обновляется и сравнивается с предыдущим значением lastvisit. Если прошло меньше 10 минут - то на эту разницу наращиваем onlinetime. Ну, а зная, сколько времени отсидел пользователь насайте можно уже любые баллы высчитывать
В таблицу юзеров забиваешь два поля - lastvisit и onlinetime. Будем считать время жизни сессии 10 минут. Т.е. с каждым обновлением страницы lastvisit обновляется и сравнивается с предыдущим значением lastvisit. Если прошло меньше 10 минут - то на эту разницу наращиваем onlinetime. Ну, а зная, сколько времени отсидел пользователь насайте можно уже любые баллы высчитывать
Спустя 11 часов, 55 секунд (6.11.2009 - 11:26) Gradus написал(а):
Димон
1) Что именно не понятно ? вот таблица голосов
id user_golos who_golos data - это поля где id это айди user_golos это за кого голосовали who_golos кто голосовал data когда голосовали дальше запрос
Может с ошибками написал и может есть вариант другой или посакращённей но должно работать
Со вторым:
1) Что именно не понятно ? вот таблица голосов
id user_golos who_golos data - это поля где id это айди user_golos это за кого голосовали who_golos кто голосовал data когда голосовали дальше запрос
$q=q("SELECT * FROM `golos` WHERE `date` > 'сегодняшняя дата' ");
$golos=array();
while($go=f($q))
{
if(!isset($golos[$go['user_golos']])) $golos[$go['user_golos']]=0;
else $golos[$go['user_golos']]++;
}
$max_count=''; $max_name=0;
foreach($golos as $name=>$count)
{
if($count>$max_count) { $max_name=$name; $max_count=$count ; }
}
if($max_count>0 && $max_name!='') echo 'Сейчас рулит: '.$max_name.', за него проголосовали сегодня: '.$max_count.' раз'; else echo 'Сегодня плохой день';
Может с ошибками написал и может есть вариант другой или посакращённей но должно работать
Со вторым:
if(!$_SESSION['data']) $_SESSION['data']='нынешнее время в сек';
if($_SESSION['data']>'больше часа') $user_bal++;
Спустя 4 часа, 48 минут, 17 секунд (6.11.2009 - 16:14) Димон написал(а):
Пасиб всем за активность! Сделал правда по своему ))
Балл за час высчитываю так: первое поле- time второе time_hour в первом к примеру 3000 секунд жизни, прибавил по умолчанию ко второму полю time + 3600сек то есть час. Как только time>=time_hour он прибавляет ещё +3600 и добавляет 1 балл..
Балл за час высчитываю так: первое поле- time второе time_hour в первом к примеру 3000 секунд жизни, прибавил по умолчанию ко второму полю time + 3600сек то есть час. Как только time>=time_hour он прибавляет ещё +3600 и добавляет 1 балл..