2016-12-08 10 views
0

php와 odbc 연결을 사용하여 json 파일을 생성 중입니다. 내 쿼리는 json 파일로 잘 번역됩니다.php로 json 파일을 생성 할 때 행 필드 이름 바꾸기

SELECT Date1, Nett FROM database WHERE Date1 BETWEEN '$bdate' AND '$edate' AND String13='$sr' ORDER BY Date1 desc; 

이 JSON에있을 것입니다 :

내 SQL 쿼리입니다

{"Date1":"2015-10-09 00:00:00.000","Nett":"20860.0"} 

하지만 난 그래서 기본적으로 나는 것을 원하는 출력이

{"date":"2015-10-09","value":20860} 

이라고합니다 행 "Date1"과 "Nett" 은 자동으로 json 파일의 "날짜"와 "값"으로 변환됩니다. 선택 사항이며 날짜 만 아닌 날짜입니다.

필자의 차트가 필드 날짜 및 값이 필요한 json 파일로 피드되기 때문에이 필드의 이름을 바꾸고 싶습니다. 당신은 당신의 SQL 쿼리를 변경할 수 있습니다

답변

2

이 내가 지금까지 무엇을 가지고

..

//json 
$json_file_name = "uniwin/json/File_export.json"; 
$json_file_name = str_replace(" ", "_", $json_file_name); 

// Open output file 
$fp = fopen($json_file_name, 'w'); 

// Write JSON list start  
fwrite($fp, '['); 

// Write each object as a row 
$isFirstRow = true; 
while ($row = odbc_fetch_array($json)) { 

    if (!$isFirstRow) { 
     fwrite($fp, ','); 
    } else { 
     $isFirstRow = false; 
    } 

    fwrite($fp, json_encode($row)); 
} 

// Write JSON list end 
fwrite($fp, ']'); 

// Close file and MySQL connection 
fclose($fp); 

} : 당신이 별칭을 사용할 수 있습니다

SELECT 
    DATE_FORMAT(Date1, '%Y-%m-%d') AS date, 
    CAST(Nett AS INT) AS value 
FROM database 
WHERE Date1 BETWEEN '$bdate' AND '$edate' AND String13='$sr' 
ORDER BY Date1 desc; 

AS date

'%Y-%m-%d' 모든 형식을 선택하십시오.

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

+0

것은 단지'DATE (날짜 1) 사용할 수도 '형식 변경으로 – RiggsFolly

+0

안녕을 요구하지 않은! 귀하의 의견에 감사드립니다. DATE_FORMAT은 (는) 인식 된 내장 함수 이름이 아닙니다. 다른 해결책을 제공해 주시겠습니까? –

+0

BTW : (SELECT Date1 AS date ...)에 쿼리를 변경하면 내 json 파일의 이름이 변경됩니다. 그래서 그것은 잘 작동합니다! –