根据数据库中的所有数据用php创建json

时间:2019-01-27 09:30:19

标签: php json

我想创建一个包含日期数据库中所有订单的json。我试图编写这段代码,但它只返回一个订单。

  $query = mysql_query("SELECT * FROM orders  WHERE id_user = '".$userdata['user_login']."' ORDER BY `nom` ASC ");
    if ($query)
    {
        $i = 0;


    while ($row = mysql_fetch_assoc($query)) 
    {

    $where=$row["where"];
    $time_min=$row["time_min"];
    $time_max=$row["time_max"];
    $date1=$row["date1"];
    $date2=$row["date2"];
    $from=$row["from"];
    $id=$row["id"];
    $orders =[
    'from' => $from, 
    'where' => $where, 
    'time_min' => $time_min, 
    'time_max' => $time_max, 
    'date1' => $date1, 
    'date2' => $date2, 
    'id' => $id];
    $i++;
    }
}
$data = [ 
'count' =>$i,
'orders' => $orders
];
header('Content-type: application/json');
echo json_encode( $data );
exit;

现在,响应如下:

now

但是我想要这样:

want

1 个答案:

答案 0 :(得分:2)

追加到$orders数组:

  $query = mysql_query("SELECT * FROM orders  WHERE id_user = '".$userdata['user_login']."' ORDER BY `nom` ASC ");
    if ($query)
    {
        $i = 0;


    while ($row = mysql_fetch_assoc($query)) 
    {

    $where=$row["where"];
    $time_min=$row["time_min"];
    $time_max=$row["time_max"];
    $date1=$row["date1"];
    $date2=$row["date2"];
    $from=$row["from"];
    $id=$row["id"];
    $orders[] =[ // <--- The difference
    'from' => $from, 
    'where' => $where, 
    'time_min' => $time_min, 
    'time_max' => $time_max, 
    'date1' => $date1, 
    'date2' => $date2, 
    'id' => $id];
    $i++;
    }
}
$data = [ 
'count' =>$i,
'orders' => $orders
];
header('Content-type: application/json');
echo json_encode( $data );
exit;