2012-09-07 28 views
0

我目前正在設計一個PHP腳本/ AJAX,它允許我執行監視,實際上在我的Intranet上,我想檢索一天中已存儲在數據庫中的操作列表。所以我提出了一個請求,我嘗試異步查看該成員,但它不起作用。用於顯示數據庫數據的AJAX

事實上,我想顯示的成員進行測試,並在適應今天的行動和異步恢復議程(無需重新加載)後,因爲我必須能夠實時觀察記錄的數據。

所以我做了這個代碼:

在的script.js是在頭我把這個:

function writeInDiv(text){ 
    var objet = document.getElementById('monitoring'); 
    objet.innerHTML = text; 
} 

function ajax() 
{ 
    var xhr=null; 

    if (window.XMLHttpRequest) { 
     xhr = new XMLHttpRequest(); 
    } 
    else if (window.ActiveXObject) 
    { 
     xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xhr.open("GET", "ajax.php", false); 
    xhr.send(null); 
    writeInDiv(xhr.responseText); 
     setInterval("ajax()",5000); 
} 

然後,我有其他的兩頁,即顯示代碼,它包含以下:

<button onclick='javascript:ajax()'>Afficher</button> 
       <div id="monitoring"></div> 


<?php 

$requette = mysql_query("SELECT * FROM gestionnaire ORDER BY ID DESC LIMIT 0,10"); 
$result=mysql_query($requette) or die; 
While($donne = mysql_fetch_array($requette)) 
{ 
$message = htmlentities($donne['nom']); 
$pseudo = htmlentities($donne['prenom']); 
?> 
<b><?php var_dump($donnee); echo $pseudo; ?>:</b> <?php echo $message; ?><br /> 
<?php 
} 
?> 

麻煩的是,沒有出現我還沒有一個錯誤信息,但該表中填充這些字段 我嘗試了var_dump但是在這種情況下,這沒什麼。

我不知道,或者它可能來自。

回答

3

Ajax調用是異步的,也許調用在您將responseText傳遞給writeInDiv時沒有完成。請嘗試以下操作:

function writeInDiv(text){ 
    var objet = document.getElementById('monitoring'); 
    objet.innerHTML = text; 
} 

function ajax() 
{ 
    var xhr=null; 

    if (window.XMLHttpRequest) { 
     xhr = new XMLHttpRequest(); 
    } 
    else if (window.ActiveXObject) 
    { 
     xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xhr.open("GET", "ajax.php", false); 
    xhr.send(null); 
    xhr.onreadystatechange=function() 
    { 
     if (xhr.readyState==4 && xhr.status==200) 
     { 
      writeInDiv(xhr.responseText); 
     } 
    } 
    setTimeout("ajax()",5000); 
} 

或使用jQuery:

function ajax() { 
    $('#monitoring').load('ajax.php'); 
    setTimeout("ajax()",5000); 
} 

另外,我想你拼錯var_dump($donnee);可能var_dump($donne);

+0

感謝的人它的工作原理perfectfully –