php datatable数组结果

时间:2016-06-10 08:24:38

标签: php mysql ajax datatable

我正在尝试使用ajax和php。将数据从mysql数据库提取到数据表中。

我的 response.php 文件的代码如下:

<?php
$result = mysql_query("select * from orders");
while ($row = mysql_fetch_array($result)) {
    $data = array(
        array(
            'Name' => $row['jobnumber'],
            'Empid' => $row['ID'],
            'Salary' => $row['product']
        )
    );
}

$results = array(
    "sEcho" => 1,
    "iTotalRecords" => count($data),
    "iTotalDisplayRecords" => count($data),
    "aaData" => $data
);
/*while($row = $result->fetch_array(MYSQLI_ASSOC)){
$results["data"][] = $row ;
}*/

echo json_encode($results);

?>

为什么这只会在我的前端表中返回一个结果?

http://orca.awaluminium.com/test.php

上面的

链接显示表格。

2 个答案:

答案 0 :(得分:2)

您正在替换$data的值,而不是在数组中推送新的rows

更改以下行。

$data = array(
              array(
                    'Name'=>$row['jobnumber'],
                    'Empid'=>$row['ID'], 'Salary'=>$row['product']
              )
);

$data[] = array(
             'Name'=>$row['jobnumber'],
             'Empid'=>$row['ID'], 'Salary'=>$row['product'] 
);

同时将$data=array();放在字符串while() looop之前。

答案 1 :(得分:1)

你必须做foreach

while ($row = mysql_fetch_array($result)){

foreach($row as $a)
                                    {$data[] = array(
                        array('Name'=>$a['jobnumber'],     'Empid'=>$a['ID'], 'Salary'=>$a['product']),                            
                                                    );
                                    }
}