如何使用ajax从mysql查询向jquery表添加行?

I need insert rows into a jQuery DataTable from AJAX. In AJAX I call a PHP file when I make a query to my mySql database, but I get show only a character in rows. It is because the format returned is incorrect, but I can't to parse the correct format.

$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...
}

I know that the format to add the rows with .DataTable().row.add() is the below, but I do not get the desired format.

[["Element software"], ["Software dist"],["Global envir"], ["Software"], ["Software list"]] 

How can I get this format in the echo to returned this?? Thanks!

It is array of arrays, so you need to push an array to $arr, not a string:

$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
do{
    $arr[]= array($row['name']);
} while ($row = mysql_fetch_array($sql));
echo json_encode($arr);

Note the

$arr[]= array($row['name']);

instead of

$arr []= $row['name'];

One:two run mysql_fetch_array($sql) because php return null;

Two:code ajax for insert table .

 $.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>");
                        }    
                }