我正在尝试使用mysql表中的json数据使用highcharts。我想设置一个下拉列表,其中的值将用作mysql_query提取所选数据并将其填充到highchart中的WHERE条件。
代码在静态条件下正常工作(无drowpdown变量)。

main.html

<form method="get" action="" >
Chose :
<select name="liste" id="liste">
<option value="A" <? if($selected == 'A'){ echo 'selected="Choice A"';}?>Choice A</option>
<option value="B" <? if($selected == 'B'){ echo 'selected="Choice B"';}?>Choice B</option>
<option value="C" <? if($selected == 'C'){ echo 'selected="Choice C"';} ?>Choice C</option>
<option value="D" <? if($selected == 'D'){ echo 'selected="Choice D"';} ?>Choice D</option>
</select>
<input type="submit" value="Go" />
</form>


data.php

`<?php

$A=$_GET['liste'];

$con = mysql_connect("localhost","myuser","mypwd");

if (!$con) {
die('Could not connect: ' . mysql_error());
 }

mysql_select_db("mydatabase", $con);

$test = mysql_query("SELECT name FROM table1 WHERE table2.age LIKE '{$A}'");

$rowss = array();
while($rr = mysql_fetch_array($test)) {
$ro[0] = $rr[0];
$ro[1] = $rr[1];
array_push($rowss,$ro);
}

 print json_encode($rowss, JSON_NUMERIC_CHECK);

 mysql_close($con);
?>


在main.html文件上,我有highchart脚本,该脚本调用data.php文件以获取json数据。

<script>
     $(document).ready(function() {
  //rest of the code
 $.getJSON("data.php", function(json) {
            options.series[0].data = json;
            chart = new Highcharts.Chart(options);
        });
</script>


测试data.php根据选择的值给出正确的输出。所以我假设它工作正常。我的问题是,加载main.html时,它绘制了一个空图,即使更改了值,仍然绘制了空数据图。

注意:我知道mysql_*不再是最佳实践,因此计划以后再切换到mysqli_*

编辑:
似乎我的options.series[0]选项obj未创建,控制台显示空数据数组。当使用<form method="get" action="data.php" >时,我得到了Expect数组,但无法得到图形。

最佳答案

我尝试此查询,它给出了完美的图形。

      for (var i=0; i<data.value.length; i++)
     {
     **series**.push({
                    name: data.value[i].name,
                    data:data.value[i].value
                });
      }


        var chart = new Highcharts.Chart({
                chart: {
                    renderTo: 'graph_view',
                    defaultSeriesType: 'spline',
                    marginRight: 0,
                    marginBottom: 25
                },
                credits: {
            text: '',
            href: ''
            },
                title: {
                    text: '',
                    x: -20 //center
                },
                subtitle: {
                    text: '',
                    x: -20
                },
                xAxis: data.orderDate,
                yAxis: {
                    title: {
                        text: ''
                    },
                    plotLines: [{
                        value: 0,
                        width: 1,
                        color: '#808080'
                    }]
                },
                legend: {

                    align: 'top',
                    verticalAlign: 'top',
                    x: -10,
                    y: 100,
                    borderWidth: 0
                },

                series:**series**


            });

          }
       });
    }
 }

关于javascript - highchart mysql json,带有下拉列表,用于选择where条件的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26338254/

10-10 09:14