将一个被调用的PHP页面返回的值附加到表中


Append to table the values returned by a called PHP page

在我的PHP主页中,我有一个表,在其中我输入了一些值作为标题。该页面的代码为:

<form  method="post" action="<?php echo $_SERVER['PHP_SELF'] ;?>">
<table id="npc" cellspacing="10">
    <tr>
        <td> Building</td>
        <td> Level</td>
        <td> Lumber</td>
        <td> Clay</td>
        <td> Iron</td>
        <td> Crop</td>
    <tr>
</table>
</form>

我使用jQuery和AJAX来调用res.php。jQuery代码为:

$.ajax(
                {
                    url: "res.php", 
                    type: "POST",
                    data: data,     
                    success: function (data) {
                        $('#npc').html(data);
                    }
                });

在res.php页面中,我使用传递的参数从数据库中检索数据。然后我将其显示在表id="npc"中。

res.php页面的内容为:

$result = mysql_query($query) or die('Error in Child Table!');
while( $data = mysql_fetch_assoc($result))
{
echo '<tr><td>'. $building. '</td><td>'. $level. '</td><td>'. $data['lumber']. '</td><td>'.$data['clay']. '</td><td>'. $data['iron']. '</td><td>'. $data['crop'].'</td></tr>';
} 

但由于某种原因,它不是将数据附加到表id="npc"的末尾,而是删除了以前的数据,然后显示新的数据。

如何保留以前的数据并将新数据追加到表中?

使用append()而不是html()

 $('#npc').append(data); // use .find('tbdoy') if required

改为$('#npc').html(data);尝试$('#npc').append(data);