我对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进行循环部分实际页面并将其插入表中?
答案 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 */
});
你不是白痴:)