【问题标题】:fill array with data needed for fusioncharts用融合图所需的数据填充数组
【发布时间】: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!

标签: php sql arrays


【解决方案1】:

先定义$a..如果没有定义..

像 $a = array();

如果它尚未定义 $a 为 null 并且 array_push 无法将项目添加到 null..

你也只能使用关联数组值

$results = $stm3->fetchAll(PDO::FETCH_ASSOC);

但你指的是索引数组

array_push($a, array("seriesName"=> $row[0], "data"=>$row1));

改变

$results = $stm3->fetchAll(PDO::FETCH_ASSOC); 

$results = $stm3->fetchAll(PDO::FETCH_BOTH);

【讨论】:

  • 对不起,没有包括那部分。 Tnx 为您的 anwser 提供服务
  • @KevinvanSchaijk 最好还是使用$a[] = ,即使manual 也推荐它。
猜你喜欢
  • 2016-05-10
  • 1970-01-01
  • 2019-06-11
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 2013-04-26
相关资源
最近更新 更多