【发布时间】:2017-03-08 13:42:02
【问题描述】:
有人可以帮忙解决以下问题吗,我正在尝试用我的 fusionchart 图表所需的数据填充数组 $a。但是用var_dump()检查后,找不到数据。
第一个查询返回 6 个品牌,第二个查询以 2 行形式返回每个品牌的销售额。这是fusioncharts 中我的图表所需的格式。
$datum=array();
$a=array();
$stm3 = $pdo->prepare("SELECT DISTINCT brand FROM `weeks` WHERE `".$select."` = '".$zoeken."'");
$result = $stm3->execute();
$results = $stm3->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $row) {
$stm4 = $pdo->prepare("SELECT SUM(`sales`) AS 'sales' FROM `weeks` WHERE `".$select."` = '".$zoeken."' AND `brand` = '".$row["brand"]."' GROUP by `brand`,`datum` ");
$stm4->execute();
$results1 = $stm4->fetchAll(PDO::FETCH_ASSOC);
foreach($results1 as $row1) {
array_push($a, array("seriesName"=> $row[0], "data"=>$row1));
}
}
array(3) { [0]=> array(0) { } 1=> array(2) { ["seriesName"]=> string(16) "brand1" ["data"]=> array(1) { ["sales"]=> string(5) "11806" } } [2]=> array(2) { ["seriesName"]=> string(16) "brand1" ["data"] => 数组(1){ [“销售额”]=> 字符串(5)“16626” } } }
【问题讨论】:
-
很难判断发生了什么,因为我们不知道您的数据,也不知道可变内容。此外,PDO
prepare背后的主要思想是,您将准备一个带有占位符的语句 (bijv.prepare('SELECT ... FROM ... WHERE ... = ? AND ... = ?') and execute it passing the parameters,execute([arg1, arg2])`。如果您直接在查询中插入变量,您就违背了准备好的语句。 -
foreach($results1 as $row1) {echo "$row";print_r($row);echo "
";echo "$row";print_r($row1);return; } 看看你有没有数据;并设置错误报告 -
@sidyll 请查看我的更新答案并告诉我它是否解决了您的问题
-
它还没有解决我的问题,但对我帮助很大!
-
@v Sugumar 我查看了错误的数据,您已修复它。 Tnx!