За последние 24 часа нас посетили 18173 программиста и 1684 робота. Сейчас ищут 1094 программиста ...

Подсчет сколько пользователей читают тему

Тема в разделе "Решения, алгоритмы", создана пользователем asm, 15 ноя 2010.

  1. asm

    asm Активный пользователь

    С нами с:
    15 ноя 2010
    Сообщения:
    2
    Симпатии:
    0
    Вопрос вот в чем.
    Нужно узнать сколько пользователей в данный момент читают данную тему.
     
  2. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    заведи табличку сессий и пихай туда user_id и datastamp, вместе с урлом, при отдаче страницы темы смотри в этой таблице урлы, обрезай по времени и выводи юзеров
     
  3. asm

    asm Активный пользователь

    С нами с:
    15 ноя 2010
    Сообщения:
    2
    Симпатии:
    0
    спасиб!
    решил таким образом

    Код (Text):
    1.  
    2. <?
    3.  
    4.  function on_line($alog,$topid) {
    5.  
    6.  $wine = 300;
    7.  
    8.  $table_online = "online_redthem";
    9.  
    10.  global $REMOTE_ADDR;
    11.  
    12. $sql_update = "DELETE FROM $table_online WHERE `unix`+$wine < ".time().
    13.               " OR `ip` = '$REMOTE_ADDR' AND `topid`='$topid'";
    14. $result_update = mysql_query($sql_update) or die(mysql_error());
    15.  
    16.  
    17. $sql_insert = "INSERT INTO $table_online VALUES ('0','$REMOTE_ADDR','".time()."','$alog','$topid' )";
    18. $result_insert = mysql_query($sql_insert) or die(mysql_error());
    19.  
    20. $red_tm_rep='';
    21. $sql_sel = "SELECT user FROM $table_online WHERE topid = '$topid'";
    22. $result_sel = mysql_query($sql_sel) or die(mysql_error());
    23.  
    24.  
    25. while ($red_tm = mysql_fetch_array($result_sel))
    26.         $red_tm_rep=$red_tm_rep.','.$red_tm[user];
    27.  
    28.  
    29. return $red_tm_rep;
    30. }
    31.  
    32. ?>