2017-02-06 1 views
0

json 형식으로 어떻게 인코딩합니까? "2nd"=> $ 행 1, "3rd"=> $ 행 1과 동일한 데이터가 검색되는 동안 1 번째를 넣으면 1, 2, 3 번째에 동일한 데이터가 수신됩니다. 제발 누군가 도와주세요, 고마워요.JSON 인코딩이 동일한 유형을 반환합니다.

여기 여기 내 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를 2 위로, CCCC를 3 위로하는 첫 번째 열에 있습니다. 여기

Example Image

내가 무엇입니까 결과입니다.

{"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

응답 전용, 나는 1 라인에서 첫 번째 값으로 두 번째 값으로 두 번째 검색하고 싶습니다. –

+0

하지만이 값은 첫 번째 값으로 1, 2, 3 번째 값을주고, 3 번째 값으로 1, 2, 3을 가진 또 다른 라인을줍니다. –

답변

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 쿼리를 적용하는 것입니다. 그러나이 문제를 해결하기 위해 테이블 ​​teamnonsport에 대한 추가 정보가 필요합니다. 또한 가능한 경우 순서 번호 접미사 (st, nd, rd)를 피하기 위해 제안합니다.

관련 문제