2014-01-18 2 views
0

참가자가 웹 화면에서 프로세스를 통해 작업하는 시간을 추적해야하는 박사 과정 조사에 착수했습니다. 시간 만 있으면 필요한 것입니다. 미리 정의 된 사용자 세트, 시작 시간 (datetime 유형) 및 종료 시간 (datetime 유형)을 추적하도록 데이터베이스를 설정했습니다. 참가자가 화면을 열면 양식 제출을 활성화 할 버튼을 클릭해야하는 모달 양식이 표시됩니다. 이 양식 제출은 서버 데이터베이스의 사용자 행에서 시작 시간을 업데이트해야합니다. 다음은 코드입니다.서버 데이터베이스에서 utc 타임 스탬프를 업데이트하는 방법

<?php 
if ($_POST['time']) { 
$time= UTC_TIMESTAMP(); 
$sql = "UPDATE `response` SET `screen1_start`=($time) WHERE `id`= 100102"; 
$result = mysql_query($sql); 
} 
?> 

<form action="" method="post"> 
Time</label> <input type="time" name="time" > 
<br> 
<input type=submit value="Click Here to Begin"> 
</form> 

작동하지 않습니다. 어떤 도움이나 제안을 주시면 감사하겠습니다.

감사합니다.

+1

"작동하지 않음"을 정의하십시오 ... 오류를 보여줍니까? 데이터베이스에 유효하지 않은 값을 삽입하거나 전혀 값을 삽입하지 않습니다. 고양이가 걷어차나요? 심지어 데이터베이스 연결이 있습니까? 일반적으로 PHP 함수 대신 MySQL 함수를 사용합니까? –

+0

@MarkBaker가 말한 것처럼 자세한 내용을 추가해야합니다 (예 : 작동하지 않는 이유). – nKn

+0

' "업데이트 응답 SET screen1_start = UTC_TIMESTAMP() WHERE id = 100102"; ' –

답변

0

필자는 PHP에서 SQL 함수를 호출한다는 것을 알고 있습니다. 다음 두 가지 옵션이 있습니다 :

  1. UTC_TIMESTAMP 같은 일, 즉 gmdate (http://be2.php.net/gmdate)을 수행하는 PHP 함수 (UTC와 GMT 가정 같은 일이다) 교체를.

    $time = gmdate();

  2. 사용하지 PHP에서 SQL 호출에 UTC_TIMESTAMP, (이것은 당신이하고 싶었던 것을 아마) : 코드에서. 당신의 코드에서 :

$time= "UTC_TIMESTAMP()";

또한, 각 문장이 실행되는 순간의 차이에 유의하십시오. 첫 번째는 PHP 호출이 해결되면 실행되고 두 번째 것은 SQL 쿼리가 실행될 때 실행됩니다.

관련 문제