douhui8025 2015-05-23 15:05
浏览 46
已采纳

为Data JSON创建数组

I'm starting with DataTables (https://datatables.net/)

And I'm trying to reload my table with json source.

From PHP code: I want to create an json array:

$fh = fopen("pv1_consultafolioTorre".".json", 'w');
while($row = mssql_fetch_array($query_result))
  {
     $a = array(
       array(
         'folio' => $row['folio'],
         'MATNR' => $row['MATNR'],
         'sucursalSolcitante' => $sucursalSolcitante,
         'sucursalResponsable' => $sucursalResponsable,
         'fechaSolicitud' => $row['fechaSolicitud'],
         'cantidadSolicitada' => $row['cantidadSolicitada'],
         'MATNR' => $row['MATNR'],
         'fechaConfirmacion' => $row['fechaConfirmacion'],
         'cantidadConfirmada' => $row['cantidadConfirmada'],
         'tiempoConfirmacion' => $result,
         'estatus' => 'Pendiente'
       ));

       $jsonencoded = json_encode($a, 128);
       print json_encode($a);
       fwrite($fh, $jsonencoded);
  }

  fclose($fh);

and I obtain this:

[
    {
        "folio": "99001091347",
        "MATNR": "033999900         ",
        "sucursalSolcitante": " CDG1 MATRIZ",
        "sucursalResponsable": " SC13 TIJUANA CENTRO",
        "fechaSolicitud": "2015-05-23 09:13",
        "cantidadSolicitada": 1,
        "fechaConfirmacion": "2015-05-23 09:14:47",
        "cantidadConfirmada": 1,
        "tiempoConfirmacion": 4,
        "estatus": "Aprobado"
    }
]

But I DataTables need the next structure:

{
    "data": [
        [
            "99001091347",
            "033999900         ",
            " CDG1 MATRIZ",
            " SC13 TIJUANA CENTRO",
            "2015-05-23 09:13",
            "1",
            "2015-05-23 09:14:47",
            "1",
            "4",
            "Aprobado"
        ]
    ]
}

How can I fix this?

  • 写回答

4条回答 默认 最新

  • duanlian1320 2015-05-23 15:16
    关注

    try this code

    $output['data'] = [];
    
    $fh = fopen("pv1_consultafolioTorre".".json", 'w');
    while($row = mssql_fetch_array($query_result))
    {
      $output['data'][] = array(
                        $row['folio'],
                        $row['MATNR'],
                        $sucursalSolcitante,
                        $sucursalResponsable,
                        $row['fechaSolicitud'],
                        $row['cantidadSolicitada'],
                        $row['MATNR'],
                        $row['fechaConfirmacion'],
                        $row['cantidadConfirmada'],
                        $result,
                        'Pendiente'
                    );
    }
    
    
    print $jsonencoded = json_encode($output, 128);
    fwrite($fh, $jsonencoded);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程