2011-01-02 12 views
2

MySQL 데이터베이스에서 데이터를 가져와 PHP를 사용하여 실시간으로 표시하는 방법에 대해 궁금합니다. 페이지를 새로 고칠 필요없이. 감사!PHP 실시간을 사용하여 MySQL에서 데이터 가져 오기?

+1

을위한 Node.js를 필요 귀하의 서버에 대한 더 많은 속도, 효율과 성능을 Socket.Io을 사용할 수 있습니다 http://en.wikipedia.org/ wiki/Ajax_ (프로그래밍) – RobertPitt

답변

5

를 사용하여 AJAX (나는 이것에 대한 jQuery 라이브러리를 사용하는 것이 좋습니다), 및 (PHP로 작성)하여 AJAX 스크립트를 가지고있는 MySQL 데이터베이스를 쿼리합니다.

1

자바 스크립트를 사용해야합니다. setInterval(function, n)을 사용하여 업데이트 호출을 모두 n 밀리 초, jQuery와 같은 라이브러리를 사용하여 아약스 호출을 처리하고 페이지를 업데이트 할 수 있습니다. 는 CDN에

다운로드 jQuery 또는 링크 페이지에 jQuery를 버전을 개최했다. 그런 다음 페이지에 이런 식으로 뭔가를 넣어 :

setInterval(function(){ 
    // inside here, set any data that you need to send to the server 
    var some_serialized_data = jQuery('form.my_form').serialize(); 

    // then fire off an ajax call 
    jQuery.ajax({ 
     url: '/yourPhpScriptForUpdatingData.php', 
     success: function(response){ 
      // put some javascript here to do something with the 
      // data that is returned with a successful ajax response, 
      // as available in the 'response' param available, 
      // inside this function, for example: 
      $('#my_html_element').html(response); 
     }, 
     data: some_serialized_data 
    }); 
}, 1000); 
// the '1000' above is the number of milliseconds to wait before running 
// the callback again: thus this script will call your server and update 
// the page every second. 

은 jQuery.ajax() 호출을 이해하기 위해 '아약스'에서 jquery docs을 읽고 당신이 방법을 이해하지 않는 경우 '선택'과 '조작'에 대해 읽어 ajax 호출의 결과로 html 페이지를 업데이트하십시오.

지속적으로 페이지를 업데이트 할 수있는 다른 방법은 웹 소켓과 같은 영구 연결, (아니 현재 모든 일반적인 브라우저 플랫폼에서 지원) 또는 혜성 스타일의 서버 푸시 설정을 사용하는 것입니다. googling 혜성 및/또는 웹 소켓에 대한 자세한 내용은보십시오,하지만 위의 방법을 될 것입니다 많은 구현하기가 더 쉽게.

+2

그러면 초당 하나의 mysql 연결이 발생합니다. 연결을 닫으면 작동하지 않는 것 같습니다. 연결을 최대한으로 사용하지 못하게하려면 어떻게해야합니까? –

관련 문제