如何使用ajax php和mysqli从数据库中读取数据不使用任何按钮?当我向表中添加一行时,我希望信息显示在页面上,而无需加载/刷新页面或单击按钮。我能做到吗?
这些信息将像下面的代码一样出现
php代码
<?php
if (isset($_GET['id'])) {
$id = intval($_GET['id']);
$date = date("l jS 'of F Y");
$query = mysqli_query($conn, "select * from tbl_dailyprogress where db_activityid='$id' and db_d='1'")or die(mysqli_error($conn));
$count = mysqli_num_rows($query);
if ($count != 0) {
echo"<table class='ol-md-12 table-bordered table-striped table-condensed cf table-bordered' id='alternatecolor'>";
echo"<thead class='cf'>";
echo"<tr>";
echo" <th style='background:#f7ac01;font-size:16px;vertical-align: middle;text-align:center'rowspan='2' >Date</th>
<th style='background:#f7ac01;font-size:16px;vertical-align: middle;text-align:center'rowspan='2' >Notes</th>
<th style='background:#f7ac01;font-size:16px;vertical-align: middle;text-align:center'rowspan='2' >Progress %</th>
";
echo"</tr></thead><tbody>";
while ($row = mysqli_fetch_array($query)) {
$idp = $row['db_id'];
$date = $row['db_date'];
$note = $row['db_note'];
$progress = $row['db_progress'];
echo"<tr>";
echo"<td data-title='Date'>";
echo $date;
echo"</td>";
echo"<td data-title='Note'>";
echo $note;
echo"</td>";
echo"<td data-title='Progress %'>";
echo'
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" style="width:' . $progress . '%">
' . $progress . '%
</div>
</div>';
echo"</td>";
}
echo"</tr></tbody>";
echo"</table>";
echo"<br/>";
}?>
一个简单的例子,以免假设您要从页面my_data.php 将数据加载到容器div标记<div id="container"></div>
中
$(document).ready(function(){
$("#container").load("my_data.php");
});
理论上不可能捕捉服务器端发生的事件。
在实践中,它是通过向服务器发送请求并获得响应来完成的。
您所需要的只是定期使用ajax发送一些请求。若数据库中有新信息,ajax会将其返回给客户端。然后你可以处理它。
由于您缺乏经验,我建议您先学习w3schools Ajax PHP教程。。。在那里,您将了解如何实现ajax功能,还将了解ajax可以做什么,不能做什么。。。