0

我有一个 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

4 回答 4

2

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

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

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


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

于 2013-03-12T10:16:11.803 回答
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++;
    }

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

于 2013-03-12T10:45:55.697 回答
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));

谢谢!

于 2013-03-12T10:36:23.247 回答
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.
于 2013-03-12T10:21:55.337 回答