2016-09-19 2 views
0

나는이 질문을 할 때 총 noob이되지 않을 것이며, 충분히 자세히 설명 할 수 있기를 희망한다. 나는 어디서나 내가 할 수있는 모든 스크립트와 예제를 시도 할 수 있었지만이 작업을 수행 할 수 없었다. 맨손으로 나는 PHP, 자바 및 데이터베이스 프로그래밍 중 하나를 경험하지 않았습니다. 내가 이루고자하는 목표는 다음과 같습니다.PHP로 타이머를 실행하는 중

부품이 기계를 통과 할 때마다 데이터베이스를 업데이트합니다 (액세스). 현재 부품 번호와 타임 스탬프를 캡처합니다. 서버 끝에서 세 개의 실행 타이머가 필요합니다 (클라이언트에서 페이지가 새로 고침 될 때마다 다시 설정되기 때문에). 두 명은 무한대로, 한 명은 정해진 시간에, 예를 들어 5 분간은 말할 것입니다. 데이터베이스에서 변경 사항이 감지되면 5 분 타이머가 재설정되고 타이머 중 하나가 실행되기 시작합니다. 이 타이머는 변경 사항이 감지되는 한 계속 실행됩니다 (다른 부분이 입력 됨). 그러나 5 분 동안 아무 것도 일어나지 않으면 첫 번째 타이머가 중지되고 두 번째 타이머가 무언가 데이터베이스에 다시 입력 될 때까지 시작됩니다.

누군가 내가 이걸 가지고 올바른 방향으로 나를 가리킬 수 있다면, 나는 매우 감사 할 것입니다. 나는 이것을 적절하게 설명했기를 바랍니다.

미리 감사드립니다.

+0

PHP는 요청 중심 방식을 제공하므로 적합하지 않습니다. 해결 방법이 있지만 여기에 또 다른 기반을 고려하는 것이 좋습니다. 가장 쉬운 방법은 단일 페이지 응용 프로그램을 기반으로하는 클라이언트 측 솔루션이므로 자바 스크립트에서 로직을 구현할 수 있습니다. 이 경우 원하지 않는 시간 제한이나 재설정이 없습니다. 물론, 자바 또한 옵션이지만, 당신은 아마 너무 내 눈을 동기가 아니라 모든 네트워크 오버 헤드를 구현해야 할 것이다 ... – arkascha

답변

0

나는 당신이 이것을 "타이머를 실행하는 것"으로 생각함으로써 수행해야 할 것보다 조금 어렵다고 생각한다.

이 경우 어떻게해야할까요, 최신 변경의 타임 스탬프를 저장하는 것입니다. 그런 다음 새 요청에서 현재 시간 소인과 비교하여 확인하십시오. 시간 소인의 차이가 5 분 미만이면 다른 타이머로 무엇을 하든지 할 수 있습니다.
이해할 수있는 범위 내에서이 타임 스탬프 하나 이상을 필요로하지 않습니다. 설정 간격을 확인하면 "두 번째"타이머가 시작될시기를 쉽게 알 수 있으며 간단히 "두 번째 타이머"를 가져 오기 위해 해당 간격을 빼기 만하면됩니다.

제 3의 "타이머"가 무엇을해야할지 모른 채, 나는 당신에게 어떤 힌트도 줄 수 없다. 나는 그것이 역시 제거 될 수 있다고 생각하지만, 바라건대 내가 이미 제시 한 것과 함께 이것을 가장 잘 해결할 수있는 방법을 알아내는 것이 쉬워야한다. :)

관련 문제