2017-02-13 6 views
-2

나는 php, sql, javascript를 사용하고있다. 사용자 -1이 사용자 2에게 친구 요청을 보내면 친구 요청 시스템을 구축하고있다. 친구 2는 사용자 2가 1 시간 동안 친구 요청을 받거나 친구 요청이 자동으로 받아 들인다. 거부/제거되었습니다. . . 그 기능을 실행하기 위해 settimeout을 사용할 수는 있지만 그 기능이 더 이상 좋지 않은 페이지가 새로 고쳐지면 두 사용자가 더 이상 온라인 상태가 아니더라도 실행할 수 있어야합니다. . . 따라서 친구 요청이 전송 된 시점에 사용자 1과 사용자 2가 모두 온라인 인 경우 . . 사용자 2와 사용자 1이 로그 아웃하면, 보낸 시간의 1 시간 이내에 친구 요청을 삭제해야합니다. 서버 또는 다른 서버에서 실행해야 할 기능이 무엇인지 확실하지 않습니다. 그것을 봐라! 그냥 혼란 어쩌면 theres PHP에서 함수를 사용할 수 있습니까?settimeout php sql

+0

데이터베이스에 초기 친구 요청과 함께 타임 스탬프를 저장합니다. 그런 다음 새로운 친구 요청을 쿼리 할 때'및 currentTime <[timestamp + 1 hour]'where 절을 추가하거나 쿼리를 실행 한 후 1 시간 이상 된 쿼리를 삭제하기 전에 쿼리를 실행하십시오. 첫 번째 옵션을 사용하면 쿼리를 저장 한 다음 일일 같은 cron으로 하나의 쿼리를 실행하여 이전 친구 요청을 삭제할 수 있습니다. –

+0

감사합니다. –

답변

2

데이터베이스에 시간을 저장할 수 있습니다.
그래서 user1이 user2에게 친구 요청을 보내면 데이터베이스에 요청을하고 user1_id user2_id request_time 테이블에 저장합니다.
보다가, 일정 기간에 당신은

현재 시간> stored_time + 1시간
그렇다면, 친구 요청을 제거 여부를 확인해야합니다.

+0

와우 감사합니다. –

1

@Grynets의 말에 덧붙여, CRON 작업을 사용하여 한 시간 후에 데이터베이스에서 자동으로 요청을 제거합니다. 이렇게하면 많은 장소를 절약 할 수 있습니다. 친구 1이 요청을 확인하지 않는다고 상상해보십시오. 데이터베이스에 남아있게됩니다.
이 링크에서 cron에 대해 자세히 알아볼 수 있습니다. https://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428

+0

정확하게 돌아 오지 않는다면, 바로 지금 바로 확인해주세요. . . 중요한 것 –