-1

抱歉 Q 略有重复,但我认为以前的答案现在已经贬值了(我已经看到在 PHP 5.3 中你需要使用 MySQLi_fetch_array())

我正在使用 jpgraph 并尝试从 MySQL 数据库中提取数据。我有以下代码可以提取我需要的数字,当我回显结果时,它会一一吐出答案,但不会将其放入数组中。

我正在尝试替换一条线

$ydata = array(1,2,3,4,5,6,7);


//query
$sql = "SELECT CONCAT( 'Week ', WEEK( TimeofCompletion ) , ' ', YEAR( TimeofCompletion ) ) AS Week, Count( * ) AS VolumeOfAnswers
FROM table01
GROUP BY WEEK( TimeofCompletion ) , YEAR( TimeofCompletion ) 
ORDER BY TimeofCompletion";

$ydata = array();

while($row = mysql_fetch_array($sql)){
// Create a temporary array
 $temp = array();

 $temp[] = "".$row['VolumeOfAnswers']."";
$ydata = '['. implode(', ', $temp) . ']';   
}

有什么建议我将如何按行将输出放入数组中?

问候莫迪斯

4

1 回答 1

0
 $temp[] = "".$row['VolumeOfAnswers'].""; //what this suppose to do?

我假设你想要引号我会在里面添加单引号

 $temp[] = "'".$row['VolumeOfAnswers']."'";

否则你根本不需要双引号,所以我会删除它们。之后,您的数组将保存数据库中的值。

根据文档 mysql_fetch_array已弃用,您应该使用 PDO 或 MySQLi。但是,如果您仍然想使用它,我建议您改用mysql_fetch_assoc

现在关于这个问题:

 while($row = mysql_fetch_array($sql)){
  // Create a temporary array
  $temp = array();

  $temp[] = "".$row['VolumeOfAnswers']."";
  //why is this here? should be outside of while loop shouldnt it?
  $ydata = '['. implode(', ', $temp) . ']';   
 }

你的 $ydata 总是被覆盖并且只保存$temp数组的最后一个元素。将 $ydata 移出 while 循环或使用array_merge($ydata, $temp);

于 2013-01-22T21:10:52.510 回答