我如何以json格式编码?如果我放第1个,我在第1个,第2个和第3个收到相同的数据,而如果我放第2个" => $ row 1,"第3个" = > $ row 1正在检索与第一个相同的数据。请有人帮忙,谢谢。
这是我的php
$sql = "select n_name, shortcut, IF(rank = 1>2, 2, shortcut) AS 1st, IF(rank = 1<2, shortcut, shortcut) AS 2nd,
IF(rank = 3=3, 1, shortcut) as 3rd from team inner join nonsport on team.n_id = nonsport.n_id group by n_name";
$con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name);
$result = mysqli_query($con,$sql);
$response = array();
while($row=mysqli_fetch_array($result))
{
array_push($response, array("n_name"=>$row[0], "1st"=>$row[1], "2nd"=>$row[2], "3rd"=>$row[3]));
}
echo json_encode (array("nresults"=>$response));
mysqli_close($con);
?>
这是一个例子。我试图做的是在第一栏中将BBBB放入第二列,将CCCC放入第三列。
这是我得到的结果。
{"nresults":[{"n_name":"Song Composition ","1st":"AAAA","2nd":"AAAA","3rd":"AAAA"},
{"nresults":[{"n_name":"Song Composition ","1st":"BBBB","2nd":"BBBB","3rd":"BBBB"},
{"nresults":[{"n_name":"Song Composition ","1st":"CCCC","2nd":"CCCC","3rd":"CCCC"},
这就是我想要做的事情。
{"nresults":[{"n_name":"Song Composition ","1st":"AAAA","2nd":"BBBB","3rd":"CCCC"},
有人能帮助我吗?感谢
答案 0 :(得分:0)
这不是一个好的解决方案,但它可以帮助你。
$c = 0;
while($row=mysqli_fetch_array($result))
{
if($c == 0) {
array_push($response, "n_name"=>$row[0], "1st"=>$row[2]);
}
else if ($c == 1) {
array_push($response, "2nd"=>$row[3]);
}
else if ($c == 2) {
array_push($response, "3rd"=>$row[4]);
}
else {
break;
}
$c++;
}
更好的方法是调整SQL查询。但为了帮助您,我需要有关表team
和nonsport
的更多信息。如果可能的话,我建议避免使用序号后缀(st,nd,rd)。