2014-02-18 4 views
1

데이터베이스에서 가져 오는 텍스트가있는 페이지가 있습니다. 해당 페이지가 열려 있고 다른 사용자가 데이터베이스의 텍스트를 변경하는 동안 데이터가 변경되면 내 페이지가 즉시 새로 고쳐 지도록하지 않으려 고합니다.누군가가 변경하면 자동으로 페이지가 새로 고침

나는 혜성을 사용하는 것에 대해 봤지만 어떤 것도 이해하지 못했다.

더 간단한 방법으로 내 문제를 해결할 수 있습니까? 그렇지 않다면 누구든지 혜성에 대한 간단한 튜토리얼을 알고 있습니까?

+0

http://stackoverflow.com/questions/333664/simple-long-polling-example-code –

답변

1

두 가지 방법이 있습니다. 'push-messages'카테고리의 첫 번째 항목입니다. 많은 경험이 없으므로 옵션 2로 계속 진행합니다.

text과 동일한 테이블/행에 마지막 편집 타임 스탬프를 추가하십시오. 누군가 텍스트를 업데이트하면 타임 스탬프가 업데이트됩니다.

사용자가 페이지를로드 할 때 javascript 변수에 마지막 편집 타임 스탬프도 보냅니다. 그런 다음이의 라인을 따라, 검증 파일에 초경량 AJAXcall합니다, 당신의 자바 스크립트 코드의 성공 처리기에서

$query = "SELECT text,last_edit FROM someTable WHERE lastedit>".$_GET['timestampFromJS']." LIMIT 1"; 
$result = mysqli_query($conn, $query); 
if($result->num_rows===0){ 
    echo 0; // something small for JS 
} 
else{ 
    $fetch = $result->fetch_assoc(); 
    echo $fetch['text']; 
} 

을가 0가 아니라면 값이 0 같지 않으면 확인 결과를 사용하여 페이지를 업데이트하십시오.

이 다른 솔루션 수 있습니다, 또는 당신은 (나는 내가 알고 : P)를 JSON을 선호 할 수도 있지만, 아이디어 :)의 초안을 얻을 것이다

관련 문제