我需要从AJAX中将行插入到jQuery DataTable中。在AJAX中,当我对mySql数据库进行查询时,我调用了一个PHP文件,但是我只在行中显示了一个字符。这是因为返回的格式不正确,但我无法解析正确的格式。
$query = "..myquery..";
if ($row = mysql_fetch_array($sql)) {
do {
$arr []= $row['name'];
} while ($row = mysql_fetch_array($sql));
echo json_encode($arr); // Here I tried return array without json_encode and a lot of things...
}
我知道使用.DataTable().row.add()
添加行的格式如下所示,但我没有获得所需的格式。
[["Element software"], ["Software dist"],["Global envir"], ["Software"], ["Software list"]]
如何在echo中获取此格式才能返回? 谢谢!
答案 0 :(得分:0)
它是数组数组,因此您需要将数组推送到$arr
,而不是字符串:
$query = "..myquery..";
$arr = []; // init an empty array
// no need to do if() and do{}while() inside. You can just while(){} it
while($row = mysql_fetch_array($sql)){
$arr[]= [$row['name']]; // <== these square brackets do the trick
}
echo json_encode($arr); // still need to json_encode
答案 1 :(得分:0)
do{
$arr[]= array($row['name']);
} while ($row = mysql_fetch_array($sql));
echo json_encode($arr);
注意
$arr[]= array($row['name']);
而不是
$arr []= $row['name'];
答案 2 :(得分:0)
一:两个运行mysql_fetch_array($ sql),因为php返回null;
二:为插入表编码ajax。
$.ajax({
dataType:"json",
url:"recive.php",
type:"POST",
data:{id:id},
success: function(res){
for(var j=0;j<res.length;j++)
{
$("#tabel").append("<table ><tr><td style='width:100%;' > "+res[j].id+"</td></tr></table>");
}
}