2014-03-31 106 views
1

我從MySQL捕獲以下數據:PHP:從MySQL查詢表中的兩列

table

使用PHP,我想整理成兩列數據:'pagamentos''recebimentos',排序將'mes'轉換爲JSON對象。喜歡的東西:

{ name: 'Recebimentos', data: [0.00, 11970.99, 2888.0]}, 
{ name: 'Pagamentos', data: [400.00, 6877.00, 500.00]} 

我:

$rows = $result->fetchAll(PDO::FETCH_ASSOC); 

$recebimentos=array(); 
$pagamentos=array(); 

     foreach ($rows as $key) { 
     if($key['fluxo']=='Recebimentos'){ 
      array_push($recebimentos, floatval($key['atual'])); 
     } elseif($key['fluxo']=='Pagamentos'){ 
      array_push($pagamentos, floatval($key['atual'])); 
     } 
    }; 

     echo json_encode(array(
      'recebimentos' => array(name=> 'name', data=>$recebimentos), 
      'pagamentos' => array(name=> 'name', data=>$pagamentos), 
     )); 

但這返回:

{"recebimentos":{"name":"name","data":[0,11970.99,2888]},"pagamentos":{"name":"name","data":[400,6877,500]}} 
+0

它看起來好像數據並沒有進入recebimentos和pagamentos數組。你確定這個'$ recebimentos [] = $ key ['real'];'是你想要的嗎?難道這不是'$ recebimentos [] = $ key ['atual'];'? – larsAnders

+0

是的,正好。我會在上面編輯我的問題,因爲這是一個錯字。 –

回答

2

有兩個地方需要更改 - $key['real']應該是$key['atual']$key['actual']。不知道這是一個複製粘貼錯誤,或者如果列實際上是atual命名爲:

foreach ($rows as $key) { 
     if($key['fluxo']=='Recebimentos'){ 
      $recebimentos[]=$key['atual']; 
     } elseif($key['fluxo']=='Pagamentos'){ 
      $pagamentos[]==$key['atual']; 
     } 
    }; 

當你指定的編碼數據的名稱,你需要實際的名稱,而不是'name'

echo json_encode(array(
     array(name=> 'recebimentos', data=>$recebimentos), 
     array(name=> 'pagamentos', data=>$pagamentos) 
    )); 
1

更換

foreach ($rows as $key) { 
     if($key['fluxo']=='Recebimentos'){ 
      $recebimentos[]=$key['real']; 
     } elseif($key['fluxo']=='Pagamentos'){ 
      $pagamentos[]==$key['real']; 
     } 
    }; 

通過

foreach ($rows as $key) { 
     if($key['fluxo']=='Recebimentos'){ 
      $recebimentos[] = $key['actual']; // 'actual', not 'real' 
     } elseif($key['fluxo']=='Pagamentos'){ 
      $pagamentos[] = $key['actual']; // just 1 '=' and 'actual', not 'real' 
     } 
    }; 
+0

對不起,我上面有一個錯字,請看我編輯的問題。謝謝 –