【发布时间】:2016-12-04 23:05:30
【问题描述】:
// Fetching Name Of Exam
$sql = "SELECT distinct(`nameofexam`) FROM `marks` WHERE `OrgId`=$schoolid AND `Admno`=$Admno";
$result = $objcon->query($sql);
if ($result->num_rows > 0) {
$row1 = array();
// output data of each row
$array1 = array();
$json = array();
while ($row = $result->fetch_assoc()) {
$exam = $row["nameofexam"];
$json[] = $exam;
header('Content-type: application/json');
// Fetching Exam details
$sql1 = "SELECT distinct Admno,Class,subject,`markobtained`,Position
FROM ( SELECT @r:= CASE WHEN @e = nameofexam THEN @r + CASE WHEN @p = `markobtained` THEN 0 ELSE @i END ELSE 1 END Position,
@i:= CASE WHEN @p = `markobtained` THEN @i + 1 ELSE 1 END incr,
@e:= nameofexam,
@p:= `markobtained`,
Admno,
Class,
nameofexam,
subject,
`markobtained`
FROM marks,
(SELECT @e:= '') e,
(SELECT @r:= 0) r,
(SELECT @p:= 0) p,
(SELECT @i:= 0) i
ORDER BY nameofexam, `markobtained` desc
) T
WHERE `Admno`=$Admno AND `nameofexam`='$exam'
ORDER BY `subject`,position";
$result1 = $objcon->query($sql1);
if ($result1->num_rows > 0) {
while ($row1 = $result1->fetch_assoc()) {
array_push($json, $row1);
}
}
}
header('Content-type: application/json');
echo json_encode($array1, $response_array);
} else {
echo "No Exam Details Avalable";
}
我希望有这样的输出。程序逻辑很简单。首先从 table1 中选择考试名称,然后从另一个表中获取该考试的相应评分表并对其进行编码。我需要使用 php 将 mysql 中的多行编码为 json。请帮助我...
预期输出:
{"Onam Exam":[{"Admno":"3123","Class":"LKG-A","subject":"english ","markobtained": "50","Position": "1" }] }
【问题讨论】:
标签: php mysql arrays json getjson