从PHP查询返回数组

时间:2016-10-28 22:04:00

标签: php mysql arrays

我使用如下所示的PHP脚本查询我的数据库:

$query = "SELECT * FROM JKFactory WHERE ronde = '$ronde' AND moment =   '$moment' AND klas = '$klas'";

$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 

while($row = mysql_fetch_array($result))
{

    echo $row['afzetAG'];
    echo ",";
}

这给出了类似这样的结果:

  

10000,20000,30000,

我需要使用 chart.js 来构建饼图。 chart.js适用于数据的数组。所以这些数字应该作为一个数组返回,我可以将它放入一个JavaScript变量中,我可以将它与chart.js一起使用。

另一个问题是最后一个逗号。我不知道如何摆脱这个逗号。

也许这些问题很简单,但我在这个领域相对较新,我真的陷入了这个问题。

4 个答案:

答案 0 :(得分:0)

打印结果,如1000,2000,3000 ......您可以将内容保存到数组中并使用implode进行打印:

$data = array();
while($row = mysql_fetch_array($result))
{
   array_push($data, $row['afzetAG']);
}
echo implode(",",$data);

但是如果你想使用从PHP到JavaScript的数组,你可以这样做:

<script type="text/javascript">
<?php
$data = array();
while($row = mysql_fetch_array($result))
{
   array_push($data, $row['afzetAG']);
}
?>
var obj = <?php echo json_encode($data); ?>;
</script>

所以现在obj包含可以在JavaScript代码中使用的数组。

答案 1 :(得分:0)

你有阵列,你自己把结果放在结果之后。因此,请尝试在$arr之前声明while array_push($arr,$row['afzetAG']),并在while

内使用{{1}}

答案 2 :(得分:0)

$types = array(); 
while(($row = mysql_fetch_assoc($result))) { $types[] = $row['type']; }

答案 3 :(得分:0)

好吧,我做到了。为了回应我使用过的结果:

import Foundation

func isAnyObject<T>( _ someObject: T) {
    if let object = someObject as? AnyObject {
        print("It's an AnyObject: \(object)")
    } else {
        print("It's not an AnyObject.")
    }
}

let classObject: NSString = "This is an NSString Object"
let structInstance: String = "This is a Swift String Instance"

isAnyObject(classObject) // It's an AnyObject: This is an NSString Object
isAnyObject(structInstance) // It's not an AnyObject.

这不是我可以在javascript中使用的数组。在javascript中,我将结果放在变量myResult中,而不是我使用的:

 $a = array();
 while($row = mysql_fetch_array($result))
 {
 $b = $row['afzetAG'];
 array_push($a,$b);

 }
echo implode(",",$a);

我可以在chart.js中使用它来构建饼图。

谢谢你们。现在我可以睡觉了。