php - 使用 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;
现在响应如下所示:
但我想要这样:
解决方案
附加到$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;
推荐阅读
- javascript - Javascript:将数字放入数组中,分成段
- mybatis - mybatis @UpdateProvider 在sql的字段值返回#{ddd}错误
- android - 使用完成功能将数据从活动发送回片段
- excel - 如何将工作表 1 中的 Excel 表单中的记录保存/添加到 Excel 工作表 2
- jenkins - Jenkins管道:如果上游作业不存在,则防止作业失败
- google-drive-api - 上传后,Google 云端硬盘将所有文件标记为滥用
- django - Django 从查询中调用 Python 函数
- mongodb - 如何使用守护进程的新标志重新启动现有的 MongoDB Docker 容器
- laravel - laravel分页中下一页的空白页
- kubernetes - 微服务 Kubernetes 环境中健康检查 API 和探针的最佳实践是什么?