24web
Новичок
Возможно вы знаете как этот скрипт можно написать по-другому ибо уже запутался. Второй день сижу - успехов нет.
У меня есть таблица
Где:
id - id юзерa
status - online/1 offline/0
lastvisit - время последнего активного действия пользователя date('U')
Нужно приравнивать время от последнего активного действия до настоящего, и в зависимости от него делать сетинтеваль страницы 500 или 20000 чтобы ослабить нагрузку на сервер
Я делал таким способом
index.php
updateOnline.php
У меня есть таблица
Где:
id - id юзерa
status - online/1 offline/0
lastvisit - время последнего активного действия пользователя date('U')
Нужно приравнивать время от последнего активного действия до настоящего, и в зависимости от него делать сетинтеваль страницы 500 или 20000 чтобы ослабить нагрузку на сервер
Я делал таким способом
index.php
PHP:
<script type="text/javascript">
setInterval('$("#setin").load("blocks/updateOnline.php", {id: "<? echo $myid; ?>"});', 1000);
</script>
<div id='setin'><?php $seti=500; echo $seti;?></div>
<script type="text/javascript">
var seti = "<? echo $seti; ?>";
var seti = parseInt(seti);
setInterval('$("#sidebarupdate").load("blocks/updateSidebar.php", {id: "<? echo $myid; ?>"});', seti);
</script>
updateOnline.php
PHP:
<?PHP
include ("db.php");
$myid = $_POST['id'];
$usertime = mysql_query("SELECT lastvisit FROM users WHERE id='$myid'",$db);
$usertimemyrow = mysql_fetch_array($usertime);
$lastvisit = $usertimemyrow['lastvisit'];
$nowvisit = date('U');
$resvisit = $nowvisit - $lastvisit;
if($resvisit <= 180) {$seti=500; echo $seti;}
elseif($resvisit > 180 && $resvisit <= 300) {$seti=1000; echo $seti;}
elseif($resvisit > 300 && $resvisit <= 480) {$seti=5000; echo $seti;}
elseif($resvisit > 480 && $resvisit <= 600) {$seti=10000; echo $seti;}
else {$seti==20000; echo $seti;}
?>