我必须向关联数组添加更多值,值会被覆盖,我只能看到显示的最后一个值。
我的摘要是:
$sql= "SELECT MONTHNAME(dt),SUM(dist) FROM demo GROUP BY MONTHNAME(dt) ";
$result=mysql_query($sql,$con) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$values=array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);
}
我希望其他值也出现在数组$值中,但它没有发生。
答案 0 :(得分:2)
你似乎需要这样做,
$values = array();
while($row = mysql_fetch_array($result))
{
$values[$row['MONTHNAME(dt)']] = $row['SUM(dist)'];
}
print_r($values);
如果你需要一个关联数组而不是。
$values[] = array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);
注意: Please, don't use mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。
答案 1 :(得分:1)
试试这个:
$values[$row['MONTHNAME(dt)']] = $row['SUM(dist)']
答案 2 :(得分:0)
我认为你应该使用。
$sql= "SELECT MONTHNAME(dt),SUM(dist) FROM demo GROUP BY MONTHNAME(dt) ";
$result=mysql_query($sql,$con) or die(mysql_error());
$values = array();
while($row = mysql_fetch_array($result))
{
$values[] = array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);
}