2017-03-08 1 views
0

PHP로 MSSQL 데이터베이스에서 데이터를 가져 오는 중입니다. JSON으로 포맷하고 싶습니다. 그 덕분에 차트를 개발할 수있는 유일한 방법이 되었기 때문입니다 (오전 차트).JSON 출력이 더 많은 열을 포함해야합니다

[{"LASTNAME": "MEINE", 
    "FIRSTNAME": "KLAUS", 
    "JOBTYPE": "LEADVOICE" 
}, 
{"LASTNAME": "SCHENKER", 
    "FIRSTNAME": "RUDOLF", 
    "JOBTYPE": "RYTHMGUITAR" 
}] 

을하지만이 같이 출력됩니다 : 내 출력 데이터는 다음과 같이 포맷 할 것이라고 생각

<?php 
    header('Content-Type: applicaton/json'); 
    $serverName = "server\sqlexpress"; 
    $connectionInfo = array("Database"=>"myDB", "UID"=>"myUID", "PWD"=>"myPWD"); 

    $conn = sqlsrv_connect($serverName, $connectionInfo); 
    if($conn==true) { 
//echo "Connection established.<br />"; 
    } 
    else 
    { 
    echo "Connection could not be established.<br />"; 
    die(print_r(sqlsrv_errors(), true));} 

//QUERY 

$sql = "SELECT FIRSTNAME, LASTNAME, JOBTYPE from directory ORDER BY JOBTYPE"; 

$stmt = sqlsrv_query($conn, $sql);//, $params); 

if($stmt) { 
    // echo "Statement executed.<br>\n"; 
} 
else 
{ 
    echo "error in statement execution.\n"; 
    die (print_r (sqlsrv_errors(), true)); 
} 

//PRINT ROWS 
$data = array(); 
while ($row=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_BOTH)) 
{ 
$data[] = $row; 
//echo $row['LASTNAME']. ' | ' .$row['FIRSTNAME']. ' | ' .$row['JOBTYPE']. "<br>" ; 
} 
echo json_encode($data); 
?> 

:

내 코드입니다

[{"0":"KLAUS", 
"FIRSTNAME":"KLAUS", 
"1":"MEINE", 
"LASTNAME":"MEINE", 
"2":" LEADVOICE", 
"JOBTYPE":" LEADVOICE" 
}, 
{"0":"RUDOLF", 
"FIRSTNAME":"RUDOLF", 
"1":"SCHENKER", 
"LASTNAME":"SCHENKER", 
"2":" RYTHMGUITAR", 
"JOBTYPE":" RYTHMGUITAR" 
}] 

무엇 왜 그런가?

미리 감사드립니다.

답변

0

그냥 그것은 마법처럼 일했다

$row_data['LASTNAME'] = $row['LASTNAME']; 
$row_data['FIRSTNAME] = $row['FIRSTNAME']; 
$row_data['JOBTYPE'] = $row['JOBTYPE']; 

array_push($data,$row_data); 
+0

으로 라인

$data[] = $row; 

아래 교체, 대단히 감사합니다! 그래서 다른 필드가있는 다른 테이블을 검색 할 경우 예제와 같이해야합니다. –

+0

예, 데이터베이스 테이블에서 몇 가지 값을 저장하려는 경우에도 동일하게 따르십시오. – Umar

관련 문제