使用mySQL和PHP每5秒更新一次HTML表


Update HTML table every 5 seconds with mySQL, and PHP?

我有一个简单的PHP页面,它将查询发送到mySQL数据库,并将数据显示到HTML表中。

我怎样才能让它每5秒钟做一次?目前,它是在页面加载时这样做的。数据库将有不断变化的数据,所以我试图让代码每5秒刷新一次,以保持表的更新。

我该如何继续这样做?

您需要使用客户端脚本语言(如JavaScript)让网页在提供给客户端后执行某些操作。

具体来说,您将希望使用定时器和AJAX调用。您可能还发现jQuery库对于抽象AJAX调用很有用,但它不是必需的。

您需要使用javascript ajax。例如,

 <script>
 function loadXMLDoc()
 {
 var xmlhttp;
 if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("myDiv").innerHTML=xmlhttp.responseText; // your div
     }
   }
 xmlhttp.open("GET","getdatabase.php",true); //your php file
 xmlhttp.send();
 }
 window.setInterval(function(){
   loadXMLDoc();
 }, 5000);
 </script>

然后在html中,您必须有一个具有指定ID的div(myDiv)Fpr示例:

 <body>
 <div id="myDiv"></div>
 </body>

然后在getdatabase.php中,您必须从数据库中获取值并将其回显出来。例如,

 <?php
 $con=mysqli_connect("example.com","peter","abc123","my_db");// Check connection
 if (mysqli_connect_errno()) {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }
 $result = mysqli_query($con,"SELECT * FROM Persons");
 echo "<table border='1'>
 <tr>
 <th>Firstname</th>
 <th>Lastname</th>
 </tr>";
 while($row = mysqli_fetch_array($result)) {
   echo "<tr>";
   echo "<td>" . $row['FirstName'] . "</td>";
   echo "<td>" . $row['LastName'] . "</td>";
   echo "</tr>";
 }
 echo "</table>";
 mysqli_close($con);
 ?> 

希望它能起作用,请访问www.w3schools.com/

了解更多信息

使用javascript计时器。从那时起,您可以定期运行SQL命令来读取数据库。

如果这个问题仍然存在,我可以发布一些示例代码。