2011-10-24 2 views
0

저는 아주 간단한 사용자 정의 컨텐츠 관리 시스템 (CMS)을 만들고 있습니다. 사용자 이름, 비밀번호, 이메일 주소 및 사용자가 마지막으로 로그인했을 때의 날짜/시간 필드 (업데이트 할 때 쿼리에서 "NOW()"를 사용함)가 포함 된 데이터베이스 테이블이 있습니다.타임 스탬프를 사용하여 활성 사용자를 표시 하시겠습니까?

사용자가 성공적으로 로그인하면 스크립트가 데이터베이스의 테이블을 업데이트하고 새 시간을 설정합니다 (NOW() 사용).

이제 5 ~ 10 분 내에 현재 로그인 한 사용자를 표시하고 싶습니다. 나는 이것을 어떻게 성취 할 수 있는지 잘 모릅니다. 그러므로 당신의 도움을 청합니다. 인터넷에서 타임 스탬프를 사용하여이 작업을 수행해야하지만이 작업 방식에 대해서는 잘 모릅니다.

  1. 특정 타임 스탬프를 설정하는 방법을 알아야합니다.

  2. 사용자가 과거 5 ~ 10 분 안에 로그인했는지 어떻게 확인할 수 있는지 알고 싶습니다. 그래서 어딘가에 이름을 표시 할 수 있습니다.

도움 주셔서 감사합니다.

답변

4

왜 사용자 정의 타임 스탬프를 설정해야합니까? NOW() 사용은 필요한 것입니다.

2

latest_login은 과거 10 분입니다 모든 사용자를 찾을 수이 질의 :

SELECT * FROM users WHERE latest_login >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)

+0

대단히 감사합니다! 훌륭하게 작동합니다. 이 방법이 가능하다는 것을 몰랐습니다. – 45808

0

확인이

큰술 매우 간단합니다 - 타임 스탬프로 날짜 변환 함수를 사용하여 mktime (구글 확인, $ date라고 말하면 됨)

2 번째 사용 함수 time()은 현재 타임 스탬프를 얻는다. ($ now라고하자)

3의 경우 (($ 지금 - $ 날짜)> (5 * 60/* 오분 * /가)) "로그인"

타임 스탬프는 그래서 5 초를 카운트 , 그렇지 { "로그인 할"를 반환} * 60 분은 5 분

관련 문제