莫里斯图表 -> HTML 将变量传递给 PHP



下面的代码生成一个包含每日每周或每月数据的莫里斯图。这很好,但是,我需要下拉菜单中的变量"cars"传递并在 php 中创建一个 var 以运行 sql 选择。 任何人都可以帮助我在 php 中生成这个变量吗? 非常感谢!! 贾夫

<div id="line-chart" style="height: 300px;"><h3 style="text-align: center;">Waiting for you to choose the data you want to display</h3></div>
<hr/>
<button data-type="day">Day</button> | <button data-type="week">Week</button> | <button data-type="month">Month</button>
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</body>
</html>
<script>
jQuery(function($) {
$('button').on('click', function(e) {
$('#line-chart').empty();
var type = $(this).data('type')
, month = [
{ y: '2012-06', a: 100, b: 90 },
{ y: '2012-07', a: 75,  b: 65 },
{ y: '2012-08', a: 50,  b: 40 },
{ y: '2012-09', a: 75,  b: 65 },
{ y: '2012-10', a: 50,  b: 40 },
{ y: '2012-11', a: 75,  b: 65 },
{ y: '2012-12', a: 100, b: 90 }
]
, week = [
{ y: '2012 W1', a: 10, b: 20 },
{ y: '2012 W2', a: 50,  b: 10 },
{ y: '2012 W3', a: 40,  b: 80 },
{ y: '2012 W4', a: 90,  b: 25 },
{ y: '2012 W5', a: 10,  b: 20 },
{ y: '2012 W6', a: 35,  b: 60 },
{ y: '2012 W7', a: 8, b: 40 }
]
, day = [
{ y: '2012-12-25', a: 20, b: 50 },
{ y: '2012-12-26', a: 30,  b: 30 },
{ y: '2012-12-27', a: 100, b: 10 },
{ y: '2012-12-28', a: 10,  b: 15 },
{ y: '2012-12-29', a: 80,  b: 60 },
{ y: '2012-12-30', a: 20,  b: 65 },
{ y: '2012-12-31', a: 5, b: 95 }
]
, data = {
month: month,
week: week,
day: day
}
, line = new Morris.Line({
element: 'line-chart',
resize: true,
data: data[type],
xkey: 'y',
ykeys: ['a', 'b'],
labels: ['Price', 'Test'],
lineColors: ['#3c8dbc', '#3c8dbc'],
hideHover: 'auto'
})
;
});
});
</script>

你需要在 select 元素上使用 onChange 事件,然后在里面,你可以在服务器端调用一个用 PHP 编写的 API。然后,从服务器返回的数据可用于使用函数 setData(( 更新图表。

最新更新