Создание графика jqplot с использованием php

Я не очень хорошо разбираюсь в английском.

Я не знаю, как передать значения в приложение jqplot.

веб-страница php показывает [{"PER": "23"}, {"PER": "47"}, {"PER": "86"}, {"PER": "25"}, {"PER": «74»}], который пришел с сервера mysql.

таблица имеет один столбец, а значения – 23, 47, 86, 25, 74

это PHP-код.

<?php mysql_connect("localhost","root","autoset"); mysql_select_db("test"); $q=mysql_query("SELECT PER FROM Evaluation"); while($e=mysql_fetch_assoc($q)) $output[]=$e; print(json_encode($output)); mysql_close(); ?> 

это файл образца html.

  $(document).ready(function(){ var ajaxDataRenderer = function(url, plot) { var ret = null; $.ajax({ // have to use synchronous here, else returns before data is fetched async: false, url: url, dataType:'json', success: function(data) { ret = data; } }); return ret; }; var jsonurl ="http://127.0.0.1/index.php"; //"../report/jsondata.txt"; plot1 = $.jqplot("chart2", jsonurl, { title: 'AJAX JSON Data Renderer', dataRenderer: ajaxDataRenderer, animate: true, animateReplot: true, cursor: { show: true, zoom: true, looseZoom: true, showTooltip: false, }, series:[ { label:'a', color: '#FF0000', rendererOptions: { animation: { speed: 2000 } } }, { label:'b', color: '#0000FF', rendererOptions: { animation: { speed: 2000 } } } ], axesDefaults: { pad: 0 }, axes: { xaxis: { label: "Period", renderer: $.jqplot.CategoryAxisRenderer, labelRenderer: $.jqplot.CanvasAxisLabelRenderer, }, yaxis: { label: "PER", tickOptions: { formatString: "%d" }, rendererOptions: { //forceTickAt0: true } }, y2axis: { tickOptions: { formatString: "%d" }, rendererOptions: { alignTicks: true //forceTickAt0: true } } }, highlighter: { show: true, showLabel: true, tooltipAxes: 'y', sizeAdjust: 7.5 , tooltipLocation : 'ne' }, legend: { show: true, location: 'sw', placement: 'outside' } }); }); 

когда я использовал

 var jsonurl ="../report/jsondata.txt"; it worked. 

jsondata.txt включен [[23, 47, 86, 25, 74]].

но когда я использовал другой, это не так. Я хочу получать значения с сервера. Я думаю, что есть проблемы, передающие значения.

пожалуйста, помогите конкретно TT

благодаря!

РЕДАКТИРОВАТЬ

это таблица. содержимое содержит только одну таблицу. Я хочу передать значения PER.

ПРЕДПРИНИМАТЕЛЬНЫЙ ПЕРИОД EPS STOCKPRICE PER

232 232 23 432 23

236 56 65 43 47

574 53 45 75 86

453 45 45 265 25

46 63 67 45 74

Я просто делал значения временно для тестирования.

Проблема заключается в формате ваших данных json, который исходит из (ассоциативного) массива $ output. вы не хотите, чтобы эти «PER» были в нем! попробуйте заменить эти строки кода:

 while($e=mysql_fetch_assoc($q)) $output[]=$e; print(json_encode($output)); в while($e=mysql_fetch_assoc($q)) $output[]=$e; print(json_encode($output)); 

с этими:

 while($e=mysql_fetch_assoc($q)) $output[]=$e["PER"]; print ('['.json_encode($output).']'); в while($e=mysql_fetch_assoc($q)) $output[]=$e["PER"]; print ('['.json_encode($output).']'); 

это изменит $ output из ассоциативного массива на стандартный массив целых чисел.

и линия печати добавляет дополнительные квадратные скобки вокруг данных json – что требует jqplot.