使用带循环的AJAX更新表

时间:2012-09-26 21:06:07

标签: javascript php ajax html-table

我对Javascript很新,尤其是Ajax,所以请耐心等待......

我想在插入一个新行后更新一个表,但是我没有把Ajax输出一个html表放在一起,我更喜欢从PHP mysql中收集所有数据并将其插入预先带循环的现有表。

这就是我通常使用PHP和while()函数的方式,这样我就可以使用数组插入各种数据部分。例如"$mem['Name']"

    $mems = mysql_query($sql,$con);
    while($mem=mysql_fetch_array($mems)){
                $lmc++;


                            echo '<tr class="data">';
                                echo '<td class="index">'.$lmc.'</td>';          
                                echo '<td class="name">'.$mem['Name'].'</td>';
                                echo '<td class="arcid">'.$mem['ArcID'].'</td>';
                                echo '<td class="type">'.$mem['Type'].'</td>';
                                echo '<td class="role">';
                                echo '<input style="width:100%;" type="text" name="art_realname" id="art_realname" class="field" value="'.$mem['Role'].'"   tabindex="1" />';
                                echo '</td>';
                            echo '</tr>';
                        };

有没有办法使用AJAX,这样我就可以先收集PHP文件中的所有数据并将其放入数组中,然后再将其发送回AJAX,然后最后使用Javascript进行循环部分实际页面并将其插入表中?

1 个答案:

答案 0 :(得分:1)

此解决方案需要jQuery,但您可以自由使用任何JS framwork / lib。

此外,您应该知道使用mysql_*函数是一个坏主意,因为它们很快就会被弃用。

现在,我们假设您的服务器上有一个名为ajax.php的脚本。您应该像往常一样以同样的方式查询数据库,而不是echo它 - 放入变量。

<?php
/* your script here */
$data = ... /* data your query returned */

header ("Content-Type: application/json" );
echo json_encode ($data);
?>

然后在客户端:

$.getJSON ( "ajax.php", function (data) {
   /* data is the $data from your PHP script */
});

你不是白痴:)