管理mysql获取数组

时间:2013-03-12 10:13:25

标签: php arrays

我有一个mysql表,其中包含我需要以更基本的格式使用的数据。

有身份证号码,日期,油,气体和电子值。

我可以做一个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获取数据并将其添加到数组中,如上所示。有人可以帮忙吗?

4 个答案:

答案 0 :(得分:2)

您可以通过[]语法附加它:

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

这假设所选日期也是唯一的。


顺便说一句,您应该避免在新代码中使用mysql_*函数。

答案 1 :(得分: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++;
    }

如果我不理解你的问题,请纠正我,我会相应地编辑我的答案。

答案 2 :(得分: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.

答案 3 :(得分:0)

感谢您的帮助。我修改了我的代码来读取这个:

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

当我打印数据时,它看起来像这样:

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));

谢谢!