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