2012-04-30 2 views
0

나는 php와 mysql을 사용 중이며 java 지식이 없다. 검색 후 나는 자바 스크립트에 대한 많은 카운트 다운 타이머를 발견했지만 그들은 클라이언트 쪽입니다. 나는 서버 측 기반의 무언가를 찾고있다. MySQL에 TimeRemaining이라는 열이있는 테이블이 있습니다. 이 칼럼은 미래의 시간 기록을 저장합니다. 레코드가 테이블에서 제거되고 최소 카운트 다운 타이머가 남아있는 시간이 최소 인 다음 레코드로 시작되도록 최소 시간 남은 시간으로 레코드를로드해야합니다. 또한 시간이 거의 남지 않고 이전 레코드보다 남은 시간이 적은 새 레코드가 삽입되면 새 레코드로 타이머를 업데이트해야합니다. 트리거를 사용하여 mysql에서 이벤트를 업데이트하거나 PHP를 사용하여 카운트 다운 타이머를 만들 수 있습니까?mysql - PHP 카운트 다운 타이머 - 서버 쪽

도움을 주셔서 감사합니다. 편집 : 내가 자바와 자바 스크립트를 사용하지 않기를 원했기 때문에 필자는 그것을 피하고 싶다. 내가하고 싶은 것을 더 잘 이해하기 위해 여러 사용자가 7 일 동안 포럼에 게시물을 작성하는 것을 금지합니다. 그 금지 및 만료 시간을 저장하는 테이블이 MySQL에 있습니다. 7 일이 만료되면 해당 레코드를 테이블에서 자동으로 제거해야합니다. 사용자는이 타이머를 제어 할 수 없어야합니다. 남은 시간을 웹 페이지에 표시 할 필요가 없습니다. 나는 사용자 개입없이 백그라운드에서이 작업이 필요합니다. 그게 더 명확 해?

+1

미래의 시간을 저장하는 경우 카운트 다운 타이머가 필요하지 않습니다. 해당 타이머가 페이지에 표시 될 때까지 남은 기간을 표시 하시겠습니까? PHP에서는 그렇게 할 수 없다. 자바 스크립트를 사용해야한다. – gcochard

+4

"* 나는 php와 mysql을 사용하고 있으며 java 지식이 없다. *" Java로 무엇을하고 싶습니까? – Lion

+2

아키텍처에 심각한 문제가 있습니다. 데이터베이스에서 '레코드 삭제'시간을 절약하고 cron으로 PHP 스크립트를 실행하여 필요할 때 레코드를 삭제해야하는 것처럼 보입니다. – Scorpil

답변

0

당신은 자바 스크립트에 대한 지식이 거의 없다고 생각하면 자동으로 새로 고침하고 그에 따라 체크 한 시간을 보여주는 페이지에 약간의 iframe을 만들 것입니다.

3

클라이언트 쪽에서이 작업을 수행하려고합니다. pageload에서 SQL 테이블의 카운트 다운 시간과 클라이언트 측 카운트 다운 시간을 가져올 수 있습니다. 시간이 완료되면 서버 (PHP)에 대한 호출 (동기식 또는 AJAX)을 다시 수행하여 해당 레코드를 제거 할 수 있습니다.

+0

라이온, 나는 그것에 대해 알지 못해 가능한 한 Java/Javascript를 피하고 싶습니다. 예를 들어, 누군가 포럼에서 7 일 동안 게시물을 만들 수 없다는 것입니다. 나는 그 종료 시간을 저장하는 mysql 테이블을 가지고있다. 7 일이 만료되면 해당 레코드를 테이블에서 자동으로 제거해야합니다. 그게 더 명확 해? –

+0

레이,이 경우 사용자를 차단하기 위해 24 시간마다 작업을 수행하거나 사용자 테이블에 ban 종료 날짜 열을 포함하고 사용자가 로그인 할 때 해당 열을 확인하는 것이 좋습니다. if 현재 날짜가 금지 종료 날짜를 초과하면 사용자는 좋습니다. "카운트 다운"을하고 행을 제거하고 싶다면 PHP를 사용하고 싶지 않을 것입니다. – dweiss

+0

감사합니다. dweiss, 사용자가 로그인 한 경우에만 테이블 만 업데이트하고 싶지는 않습니다. 사용자가 로그인했는지 여부에 관계없이 정확한 시간에 레코드를 제거하고 싶습니다. 나는 mysql에서 이벤트를 생성하여 레코드를 제거하고 PHP가 필요할 때 이벤트를 변경할 수 있다고 생각한다. –