За последние 24 часа нас посетили 17576 программистов и 1724 робота. Сейчас ищут 1574 программиста ...

Help!

Тема в разделе "PHP и базы данных", создана пользователем NIKO, 22 июл 2006.

  1. NIKO

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

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    Ребят у меня в Б/Д есть users_tbl
    там так
    active|user_id|user_password|e-mail

    если active 1 то юзер online если 0 то offline
    так вот как сделать так, чтоб если пользователь долгое время не писал то active стал 0 ?
     
  2. simpson

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

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    добавить в таблицу еще одно поле, куда записывать время, когда юзер писал последний раз.
    потом проверять это время у юзеров, и если времени прошло много, то ставить active в 0.
     
  3. NIKO

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

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    типо
    active|user_id|user_password|e-mail|time
    date("H:i:s")
    a как проверять типо
    while($row = bla bla){
    $time = date("H:i:s");
    if(($row['time'] - $time) < 10){
    bla bal active to 0
    }
    }

    ($row['time'] - $time) < 10 здесь как надо, чтоб правильно было?
    }
     
  4. simpson

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

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    в бд время храни в таймстэмпе.

    напиши отдельный скрипт с запросом:
    Код (Text):
    1. UPDATE `user_tbl` SET `active`=0 WHERE ( NOW()-`time` )>600
    и запускай его кроном.

    600 - время в секундах, т.е. 10 минут.
     
  5. NIKO

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

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    Thanks for all :)