2011-01-21 4 views
0

MySQL 결과에서 PHP를 사용하여 XML 문서를 출력하고 있는데 한 열에는 값이 많이 있습니다. 그러나 누적 값은 1,3,6, 8,12,45 등 ...하지만 난 단지이의 값이 아닌 값 자체의 차이 밖으로 에코 방법 : 문제의 열이 "증기"PHP는 while 루프에서 두 값의 차이를 계산합니다.

while($row = mysql_fetch_array($result)){ 
    $strXML .= "<set name='".date("G:i:s", strtotime($row["tstamp"])) 
      . "' value='".$row['steam']."' color='AFD8F8' />"; 
} 

, 내가 약 갈 수있는 방법을 이러는거야?

+0

예상되는 결과는 무엇입니까? 몇 가지 샘플 입력과 해당 출력을 제공하십시오. –

+0

"가치 차이"란 무엇입니까? –

+0

1,3,6,8,12,45, 이것은 raw mysql 데이터일지도 모르지만 2,3,2,4,33을 원할 것입니다 ... 간단한 수학을 할 수는 있지만 그 안에있는 것입니다. while 루프는 – benhowdle89

답변

1

원하십니까?

$previous = 0; 
while($row = mysql_fetch_array($result)){ 
    $difference = $row['steam'] - $previous; 
    $strXML .= "<set name='".date("G:i:s", strtotime($row["tstamp"])) 
      . "' value='".$difference."' color='AFD8F8' />"; 
    $previous = $row['steam']; 
} 

$row['steam']은 쉼표로 구분 된 단일 번호가 아니라고 가정합니다.

1
$dataArray = explode(',',$row['steam']); 
$dataCount = count($dataArray); 
$newArray = array(); 
for($i = 1; $i < $dataCount; $i++) { 
    $newArray[] = $dataArray[$i] - $dataArray[$i-1]; 
} 
$newData = implode(',',$newArray); 
+0

과 같이 고군분투하고 있으므로 $ newData는 본질적으로 my $ row 배열입니까? – benhowdle89

+0

$ newData는 근본적으로 $ row [ 'steam']이며, $ row 배열 전체가 아닙니다 ... $ row [ "tstamp"] –

+0

오 ok와 같이 $ row에 다른 항목이 있습니다. 그래서 내가 할 것이라고 : 값 = ' ". $ newData."' – benhowdle89

관련 문제