我正在上课,我有一个排行榜页面。我想要做的是每次将新结果添加到数据库时动态地向表中添加新行。
这是我的PHP SELECT *
:
<?php $records = array();
if ($results = $db->query("SELECT * FROM user_settings, leaderboards")) {
if ($results->num_rows) {
while ($row = $results->fetch_object()) {
$records[] = $row;
}
$results->free();
}
}
?>
<?php foreach ($records as $data) { ?>
...
我的表格如下:
<table class="leaderboard">
<tr>
<th>ID</th><th>First Name</th><th>Last Name</th><th>Robot Name</th><th>Power Remaining</th><th>Level</th>
</tr>
<tr>
<td><?php echo escape($data->id); ?></td><td><?php echo escape(htmlentities($data->first_name)); ?></td><td><?php echo escape(htmlentities($data->last_name)); ?></td><td><?php echo escape(htmlentities($data->robot_name)); ?></td><td><?php echo escape($data->power_remaining); ?></td><td><?php echo escape($data->level) ?></td>
</tr>
<tr>
</tr>
</table>
这成功地从数据库中获取了值,但是每次在数据库中输入新值时,如何动态地将新记录添加到HTML表中?
答案 0 :(得分:2)
使用PHP中的简单回显在<td>
中创建foreach
,它应该可以正常工作。
例如:
<?php foreach ($records as $data) {
echo "<td> escape($data->id) ... </td>"
} ?>
答案 1 :(得分:0)
您需要每隔一段时间使用Ajax检查当前结果计数,例如。每一分钟。如果有更多结果 - 将它们发送到客户端并使用javascript将它们添加到表中。