2013-03-12 49 views
0

我有一個MySQL表中有數據,我需要使用更基本的格式。管理MySQL提取數組

有ID號,日期,油,氣和電的價值。

我可以做一個mysql_fetch_array,它帶回了我需要的所有值,但我需要查看它們的格式,以便與javascript圖表一起使用。他們需要的格式如下:

$data = array(array("6/22/2009",425.32),array("6/8/2009",424.84),array("5/26/2009",417.23),array("5/11/2009",390)); 

正如你所看到的,我需要日期和油的價值。然後我需要創建另一個包含日期和電氣值的數組,最後是數據和氣體值。

我不知道如何從mysql_fetch_array獲取數據並將其添加到數組,如上所示。誰能幫忙?

+0

你可以發佈你的代碼嗎? – 2013-03-12 10:16:19

回答

2

您只需通過[]語法追加它:

$data = array('oil' => array(), 'gas' => array(), 'electric' => array()); 
while ($row = mysql_fetch_assoc($result)) { 
    $data['oil'][$row['date']] = $row['oil']; 
} 

這假定選定的日期是唯一的爲好。


順便說一下,您應該避免在新代碼中使用mysql_*函數。

0

試試這個..

$finalArray=array(); 
while ($row = mysql_fetch_array($result)) 
{ 
    $data=array(); 
    $data[] = $row['date']; 
    $data[] = $row['oil']; 
    $finalArray[]=$data; 
} 
print_r($finalArray); //This will print your values in required fromat. 
0

感謝您的幫助。我已經修改了我的代碼閱讀本:

$oil = array('oil' => array()); 
$result=mysql_query(" SELECT * FROM energyprices"); 
while ($row = mysql_fetch_assoc($result)) { 
$oil[$row['pDate']]['oil'] = $row['oil']; 
} 

當我print_r的數據,它看起來是這樣的:

Array ([oil] => Array () [2004-01-01] => Array ([oil] => 29.73) [2004-01-02] => Array ([oil] => 29.73)); 

我需要它的格式是:

$oil = array(
array("6/22/2009",425.32), 
array("6/8/2009",424.84), 
array("5/26/2009",417.23)); 

謝謝!

1

你需要使用「數字陣列」:

$result = mysql_query(" SELECT date, oil FROM energyprices"); 
    $i = 0; 
    while($row = mysql_fetch_array($result, MYSQL_NUM)) 
    { 
     $oil[$i] = array($row[0], $row[1]); 
     $i++; 
    } 

糾正我,如果我沒有理解你的問題,我會相應地修改我的答案。