Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript脚本的php-foreach_Javascript_Php_Foreach - Fatal编程技术网

使用javascript脚本的php-foreach

使用javascript脚本的php-foreach,javascript,php,foreach,Javascript,Php,Foreach,我有一个php foreach循环,我想使用它根据我输入脚本的数据创建5个图表。我无法理解的问题是,目前我的图表仅在最后一个循环中可见,而在第一、第二、第三个循环中不可见 我试图做一些类似于var-chart=…的事情,但没有成功。如何使图表在foreach循环中显示正确的数据 <? foreach($articles as $row):?> <div id='chart-<?=$row['id'];?>' style='width: 1110px; height:

我有一个php foreach循环,我想使用它根据我输入脚本的数据创建5个图表。我无法理解的问题是,目前我的图表仅在最后一个循环中可见,而在第一、第二、第三个循环中不可见

我试图做一些类似于
var-chart=…
的事情,但没有成功。如何使图表在foreach循环中显示正确的数据

<? foreach($articles as $row):?>
<div id='chart-<?=$row['id'];?>' style='width: 1110px; height: 250px;'></div>
    <script>
        var chart1 = new Charts.LineChart('chart-<?=$row['id'];?>', {
          dot_color: "#855541",
          area_color: "#855541",
          line_color: "#855541",
          line_width: 1,
          show_grid: false,
          label_max: false,
          label_min: false
        });
        chart1.add_line({
          data: [<?=$row['chart'];?>]
        });
        chart1.draw();
    </script>
  <?endforeach;?>

]
});
图1.draw();
试试看


=新图表。折线图('图表-'{
点颜色:“855541”,
区域颜色:“855541”,
线条颜色:“855541”,
线宽:1,
显示网格:false,
标签_max:false,
标签_min:错误
});
chart.add_行({
数据:[]
});
chart.draw();

针对Mohammed的评论,尝试每次更改JavaScript变量名

<? foreach($articles as $row):?>
<div id='chart-<?=$row['id'];?>' style='width: 1110px; height: 250px;'></div>
    <script>
        var chart<?=$row['id'];?> = new Charts.LineChart('chart-<?=$row['id'];?>', {
          dot_color: "#855541",
          area_color: "#855541",
          line_color: "#855541",
          line_width: 1,
          show_grid: false,
          label_max: false,
          label_min: false
        });
        chart<?=$row['id'];?>.add_line({
          data: [<?=$row['chart'];?>]
        });
        chart<?=$row['id'];?>.draw();
    </script>
  <?endforeach;?>

=新图表。折线图('图表-'{
点颜色:“855541”,
区域颜色:“855541”,
线条颜色:“855541”,
线宽:1,
显示网格:false,
标签_max:false,
标签_min:错误
});
chart.add_行({
数据:[]
});
chart.draw();

chart1
在每次php循环迭代时都会被覆盖

即使您将其放入diff div中,所有js变量都将占用相同的空间,因为您将其声明为全局变量

一种方法是为每次迭代定义不同的变量,或者指定不同的变量名,或者将所有变量添加到一个数组中,然后循环并执行所有变量

就像其他答案一样,改变

var chart1 = ... 
例如:

var chart_<?=$row['id']?> = 
var图表=

例如,
图表1
图表2
图表3
…等

我们需要查看循环。这个
foreach
循环在哪里?请编辑您的问题以显示您当前的操作方式。我想所有
我都添加了foreach循环@user007我正在使用短标记。每次php循环迭代时是否都会覆盖图表1?即使您将其放入diff div,所有js变量都将占用相同的空间,因为您将其声明为全局。已经有一个唯一的ID,可以使用额外的计数器保存。感谢Stanyer和Mohammed提供的提示!
var chart_<?=$row['id']?> =