2011-06-12 8 views
2
<?php 
    $query3 = "SELECT message FROM messageslive LIMIT 1"; 
    $result3 = mysql_query($query3,$connection) or die (mysql_error()); 
    confirm_query($result3); 
    while($userinfo3 = mysql_fetch_array($result3)){ 
     $msgLive = $userinfo3['message']; 
    } 
?> 

<script type="text/javascript"> 
    var msg = "<?php echo $msgLive ; ?>"; 
</script> 

데이터베이스 테이블에 검색 및 검색 할 데이터가 너무 많아서 PHP 변수 $msgLive에 아직 값이 없으므로 Javascript 변수 var msg에서 빈 값을 얻을 때 걱정됩니다. PHP 변수 $msgLive가 값을 얻었을 때까지 자바 스크립트를 기다리는 방법은 php 변수에서 자바로 값을 전송하는 것입니까?어떻게 자바 스크립트 PHP 변수에 값을 할당 mysql을 기다릴 요청합니까?

답변

8

서버 스크립트가 먼저 실행되고 데이터베이스와 통신하기 위해 시간이 걸리므로 msgLive 변수에 값을 할당하고 마지막으로 클라이언트로 보내는 HTML을 생성하므로 걱정하지 않아도됩니다. 이 모든 시간 동안 클라이언트는 대기합니다. (아마도 ISP가 느린 연결에 대해 저주합니다 :-)). 따라서 HTML이 클라이언트 브라우저에 도달하면 javascript 변수의 값이 설정됩니다. 자바 스크립트를 기다릴 필요가 없으므로 서버가 작업을 끝내고 HTML을 클라이언트에 전달하기 전까지는 자바 스크립트가 존재하지 않습니다.

+0

다른 PHP 코드를 넣으면 어떻게됩니까? 자바 스크립트 코드 아래에? javascript variable var msg의 값은 "12345"가됩니까? – zac1987

+3

@ zac1987, 어디에 넣든 상관 없습니다. 서버 측 코드와 클라이언트 측 코드를 구분해야합니다. 그것들은 서로 다른 두 시점에서 일어나는 완전히 다른 두 가지 과정입니다. 먼저 HTML을 생성하는 서버가 클라이언트에게 보내지고 클라이언트가 클라이언트를 잡아서이 HTML에 javascript가 있으면 브라우저 내부에서 실행됩니다. –

+0

그래서 var msg는 "12345"가됩니다. 나는 이미 그것을 이해했다. 고맙습니다. – zac1987

관련 문제