如何动态地向此HTML表添加行...?

时间:2014-04-14 19:25:45

标签: php sql mysqli

我正在上课,我有一个排行榜页面。我想要做的是每次将新结果添加到数据库时动态地向表中添加新行。

这是我的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表中?

2 个答案:

答案 0 :(得分:2)

使用PHP中的简单回显在<td>中创建foreach,它应该可以正常工作。

例如:

<?php foreach ($records as $data) {
  echo "<td>  escape($data->id) ... </td>"
} ?>

答案 1 :(得分:0)

您需要每隔一段时间使用Ajax检查当前结果计数,例如。每一分钟。如果有更多结果 - 将它们发送到客户端并使用javascript将它们添加到表中。