使用javascript脚本的php-foreach
我有一个php foreach循环,我想使用它根据我输入脚本的数据创建5个图表。我无法理解的问题是,目前我的图表仅在最后一个循环中可见,而在第一、第二、第三个循环中不可见 我试图做一些类似于使用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:
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']?> =