【发布时间】:2014-10-28 08:09:39
【问题描述】:
编码JSON 格式的逻辑方法是什么,输出类似于此的内容
{
"Student":{
"studentId":"11-13555",
"Orders":[
{
"transactionId":"20140310-3241-2135",
"Transactions":[
{
"dateOrdered":"2014-07-07 23:21:56",
"productId":12,
"quantity":3
},
{
"dateOrdered":"2014-07-07 23:22:26",
"productId":8,
"quantity":1
}
]
},
{
"transactionId":"20140310-1541-2134",
"Transactions":[
{
"dateOrdered":"2014-07-07 23:23:36",
"productId":12,
"quantity":1
}
]
}
]
}
}
鉴于此表
tblOrders
+==========================================================================================+
| id | transactionId | dateOrdered | studentId | quantity | productId | .... |
|====+=====================================================================================|
| 1 | 20140310-3241-2135 | 2014-07-07 23:21:56 | 11-13555 | 3 | 12 | |
+----+---------------------+---------------------+-----------+----------+-----------+------+
| 2 | 20140310-3241-2135 | 2014-07-07 23:22:26 | 11-13555 | 1 | 8 | |
+----+---------------------+---------------------+-----------+----------+-----------+------+
| 3 | 20140310-1541-2134 | 2014-07-07 23:23:36 | 11-13555 | 1 | 12 | |
+----+---------------------+---------------------+-----------+----------+-----------+------+
我想不出我怎么能用这个代码来编码:
$result = $conn->query("SELECT * FROM tblOrders WHERE studentId=$studentId GROUP BY transactionId");
if ( $result && $result->num_rows > 0 ) {
$orders = array();
while( $row = $result->fetch_array() ) {
$orders[] = $row;
}
$response["Orders"] = $orders;
//$response["Student"] = "";
$response["status"] = "success";
} else { /* some code... */ }
print json_encode( $response );
因为它给了我一个不一致的“键”,我无法确定它们中的哪一个是我正在寻找的,这是我第一次使用关键字 GROUP BY 查询数据库。
【问题讨论】: