2015-02-05 67 views
0

我有一个PHP脚本,它连接到一个MySQL数据库,并应输出一个HTML表格。我已经厌倦了设置一个长轮询的AJAX脚本来每秒轮询我的PHP脚本。它似乎工作基于我可以在我的浏览器调试器中看到,但表中没有显示在页面上。任何人都可以帮我找到我的代码有什么问题吗?PHP表格不显示

reocrd.php

<?php 
    header("Cache-Control: no-cache, must-revalidate"); 
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
    flush(); 
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    </head> 
    <body> 
     <?php 
     $servername = "localhost"; 
     $username = "recorduser"; 
     $password = "recorduser"; 
     $database = "record"; 

     // Create connection 
     $conn = mysqli_connect($servername, $username, $password, $database); 
     // Check connection 
     if (!$conn) { 
      die("Connection failed: " . mysqli_connect_error()); 
     } 

     $sql = "SELECT * from username ORDER BY id DESC LIMIT 1"; 
     $result = mysqli_query($conn, $sql); 

     echo " 
     <table border='1'> 
      <tr> 
       <th>Firstname</th> 
       <th>Lastname</th> 
      </tr>"; 

     while($row = mysqli_fetch_array($result)){ 
      echo "<tr>"; 
      echo "<td>" . $row['name'] . "</td>"; 
      echo "<td>" . $row['lastname'] . "</td>"; 
      echo "</tr>"; 
      echo "</table>"; 
     } 
     mysqli_close($conn); 
     ?> 
    </body> 
</html> 

test3.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title>Comet php backend</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    </head> 
    <body> 
     <head> 
      <script type="text/javascript" src="http://code.jquery.com/jquery- 1.11.2.min.js"></script> 
      <script type="text/javascript" src="client1.js"></script> 
     </head> 
     <h1>Response from server:</h1> 
    </body> 
</html> 

client1.js

setInterval(function(){ 
    $.ajax({ 
     url  : "record.php", 
     success : function(data){ 
      //Update your dashboard gauge 
      salesGauge.setValue(data.value); 
     }, 
     dataType : "json" 
    }); 
}, 30000); 
+0

因为您尝试将HTML块添加到一个标准'value'属性?无论如何,有'salesGauge'?为什么这些多头?试试'success:function(data){$('body')。append(data)...'来代替。这将明显测试PHP脚本是否返回某些内容。 – davidkonrad 2015-02-05 19:02:01

+1

你的HTML代码有些奇怪。为什么双''标签(在'body'标签内)?另外,为什么在while循环内部放置'echo'“'?你正在关闭每一行的表格。 – 2015-02-05 19:15:28

+0

@davidkonrad您证明我的代码不起作用。 'salesGauge'是什么意思? – user3818265 2015-02-06 14:43:07

回答

0

假设你有一个<div id="salesGuage"></div>,也许这可以工作?不要设置值属性,请尝试设置innerHTML

setInterval(function(){ 
$.ajax({ url: "record.php", success: function(data){ 
    //Update your dashboard gauge 
    $("#salesGuage").html(data.value); 
}, dataType: "json"}); 
}, 30000);@ 
+0

我在'index.html'中用'

'累了你的代码,但是不起作用。 – user3818265 2015-02-06 14:44:36