[英]group by json output in php
<?php
$link = mysqli_connect("localhost", "root", "", "college");
$query = "SELECT branch, year,semester, COUNT(*) count FROM students GROUP BY branch,year,semester;";
$result = mysqli_query($link,$query);
$rows= mysqli_fetch_all($result,MYSQLI_ASSOC);
echo json_encode($rows);
?>
這是我的輸出:
[{"branch":"cse","year":"1","semester":"1","count":"4"},{"branch":"cse","year":"2 ","semester":"1","count":"1"},{"branch":"cse","year":"2","semester":"2","count":"2 "},{"branch":"cse","year":"2","semester":"4","count":"1"},{"branch":"cse","year": "3","semester":"2","count":"1"},{"branch":"cse","year":"3","semester":"3","count": "2"},{"branch":"cse","year":"4","semester":"3","count":"1"},{"branch":"cse","year ":"4","semester":"4","count":"2"}, {"branch":"ece","year":"1","semester":"4","count ":"2"},{"branch":"ece","year":"2","semester":"2","count":"2"},{"branch":"ece", "year":"2","semester":"3","count":"1"},{"branch":"ece","year":"3","semester":"1", "count":"1"},{"branch":"ece","year":"3","semester":"3","count":"2"},{"branch":"ece ","year":"4","semester":"2","count":"2"},{"branch":"ece","year":"4","semester":"4 ","count":"2"}, {"branch":"eee","year":"1","semester":"1","count":"1"},{"branch": "eee","year":"1","semester":"4","count":"1"},{"branch":"eee","year":"2","semester": "1","count":"1"},{"branc h":"eee","year":"2","semester":"2","count":"3"},{"branch":"eee","year":"2","學期":"3","count":"2"},{"branch":"eee","year":"2","semester":"4","count":"1"}, {"branch":"eee","year":"3","semester":"1","count":"1"},{"branch":"eee","year":"3" ,"semester":"2","count":"1"},{"branch":"eee","year":"3","semester":"3","count":"4" },{"branch":"eee","year":"3","semester":"4","count":"3"},{"branch":"eee","year":" 4","semester":"2","count":"3"},{"branch":"eee","year":"4","semester":"3","count":" 2"},{"branch":"eee","year":"4","semester":"4","count":"1"}]
但我想要這樣的輸出:
{"cse":
[{"year":"1","semester":"1","count":"4"},
{"year":"2","semester":"1","count":"1"},
{"year":"2","semester":"2","count":"2"},
{"year":"2","semester":"4","count":"1"},
{"year":"3","semester":"2","count":"1"},
{"year":"3","semester":"3","count":"2"},
{"year":"4","semester":"3","count":"1"},
{"year":"4","semester":"4","count":"2"}],
"ece":
[{"year":"1","semester":"4","count":"2"},
{"year":"2","semester":"2","count":"2"},
{"year":"2","semester":"3","count":"1"},
{"year":"3","semester":"1","count":"1"},
{"year":"3","semester":"3","count":"2"},
{"year":"4","semester":"2","count":"2"},
{"year":"4","semester":"4","count":"2"}],
"eee":
[{"year":"1","semester":"1","count":"1"},
{"year":"1","semester":"4","count":"1"},
{"year":"2","semester":"1","count":"1"},
{"year":"2","semester":"2","count":"3"},
{"year":"2","semester":"3","count":"2"},
{"year":"2","semester":"4","count":"1"},
{"year":"3","semester":"1","count":"1"},
{"year":"3","semester":"3","count":"4"},
{"year":"3","semester":"4","count":"3"},
{"year":"4","semester":"2","count":"3"},
{"year":"4","semester":"3","count":"2"},
{"year":"4","semester":"4","count":"1"}]}
建議任何其他方式來顯示上述輸出
與執行mysqli_fetch_all
,一次獲取每一行並在一次操作中將其放入正確的格式可能更容易(並且可能更快)...
$result = mysqli_query($link,$query);
$output = [];
while ( $rows= mysqli_fetch_assoc($result)) {
$output [$rows['branch']][] = ["year" => $rows['year'],
"semester" => $rows['semester'],
"count" => $rows['count']];
}
echo json_encode($output);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.