Javascript PHP MySQL база данных - PullRequest
       8

Javascript PHP MySQL база данных

1 голос
/ 27 декабря 2011

все!У меня есть проблемы, связанные с моей осью X.Я использую API флот.В моем случае я извлекаю данные из mysql для построения графика.Обе оси требуют извлечения данных из mysql.Например, mysql извлечет данные для оси Y, скажем, 20. Моя ось x извлечет данные из mysql того времени.Я пытался переписать сценарий несколько раз, но безрезультатно.Я пытался создать переменную, параметры, но это не сработало.Это работает, только если я поместил оператор оси X чуть ниже y.Вся идея создания новых переменных параметров, потому что я хотел сделать цикл для оси X, чтобы непрерывно собирать данные из MySQL.В приведенной ниже цитате я смоделировал его с выбранными массивами.

$(function () {
var graph = [];
var power = <?php echo json_encode($data);?>;
var time = <?php echo json_encode($times);?>;
var row = <?php echo json_encode($nrow);?>;
//alert(time.toSource());




for (var i = 1; i < row; i += 1) {

//var test = time[i];
//alert(test);
//graph.push([i, power[i]]);

var hhmm = time[i].split(":");

var hh = parseInt(hhmm[0]);
var mm = parseInt(hhmm[1])/60;
var tt = hh+mm;
//var tx = hh;

graph.push([tt, power[i]]);

}

var options = {
xaxis: { ticks:[[1,time[1]],[2,time[2]],[3,time[3]],[4,time[4]],[5,time[5]],[6,time[6]],[7,time[7]],[8,time[8]]]}

};

// alert (options.toSource ());

var plot = $.plot($("#placeholder"), 
       [ { data: graph, label: "Power" } ], {
           series: {
               lines: { show: true },
               points: { show: true }
           },
           grid: { hoverable: true, clickable: true },
           yaxis: { min: 0, max: 25 },
           //xaxes: [ { mode: 'time' } ]
           //xaxis: { mode: "time"}
           //xaxis: { mode: "time",timeformat:"%H/%M" }
           //xaxis: { ticks:[[1,time[1]],[2,time[2]],[3,time[3]],[4,time[4]],[5,time[5]],[6,time[6]],[7,time[7]]]}


       }), options);

Я изменил функцию параметров, но она не работает.

var options = {
series: {
               lines: { show: true },
               points: { show: true }
           },
           grid: { hoverable: true, clickable: true },
           yaxis: { min: 0, max: 25 },
           for (var i = 1; i < row; i += 1) 
           {
             xaxis: { ticks:[[i,time[i]]}
             };

};

1 Ответ

0 голосов
/ 09 января 2012

Если я правильно определил желаемый формат xaxis, вы можете попробовать следующее:

var ticks = [];
for (var i = 1; i < row; i += 1)
{
  ticks.push ([i, time[i]]);
}
var xaxis = {
  ticks: ticks,
  // ... any additional properties...
};

Это создаст объект xaxis со свойством ticks, которое, в свою очередь, является массивом массивов, в котором каждый подмассив имеет два элемента, счетчик начинается с единицы и значение массива time для каждого i. Я полагаю, вы захотите использовать код, подобный этому, для создания options:

var options = {
  series: { lines: { show: true },
  points: { show: true } },
  grid: { hoverable: true, clickable: true },
  yaxis: { min: 0, max: 25 },
  xaxis: xaxis
};

Вы не можете использовать оператор for() при инициализации объекта, вам придется создать массив xaxis ранее и использовать имя переменной при создании объекта options.

...