javascript — отображать график в jqplot, используя две переменные из базы данных

Я новичок в jqplot, и я пытался отобразить график с датами (ось X) и значения (ось Y) из базы данных.
Мне удалось сохранить даты и значения в красивую строку (все данные разделены запятыми и в хорошем порядке), но когда я вызываю $ .jqplot (‘chart1’, [total1], это не работает! 🙁
Я перепробовал все, и у меня заканчиваются идеи и надежда.
любая помощь или указатели будут с благодарностью.
привет от отчаянного новичка

    <?php

$conn = mysql_connect($host, $user, $password);
mysql_select_db($database);

$MenuSelection = $_POST['dropDownMenu'];// select field from dropdownmenu
$conn = mysql_connect($host, $user, $password);
mysql_select_db($database);

$sql = "SELECT date," . $MenuSelection . " FROM errorscounted where date       between '$CurrentDate' and '$FinalDate'";

$result = mysql_query($sql);
$data = array();
while ($row = mysql_fetch_assoc($result)) {
$data[] = $row;
}

mysql_free_result($result);

mysql_close();
?>

<script type="text/javascript" >

$(document).ready(function () {
var total1 = "";

// create a for loop to get dates and values and save them in a string
<?php for ($x = 0; $x <= 4; $x++) { ?>
var line1 = [['<?php echo $data[$x]['date'] ?>',
<?php echo $data[$x][$myvalue] ?>], ];

// concatenated the string and seperated the dates and values by a comma
total1 = total1.concat(line1) + ",";
<?php } ?>
//delete the last comma
total1 = total1.substring(0, total1.length - 1);

// an alert that shows that all the data was saved correctly
alert(total1);

var plot1 = $.jqplot('chart1', [total1], {
animate: !$.jqplot.use_excanvas,
title: 'Number of errors from <?php echo $_POST['dateStart'] ?> to <?php echo $_POST['dateEnd'] ?> for <?php echo $_POST['dropDownMenu'] ?> ',
seriesDefaults: {
pointLabels: {show: true}
},
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
angle: -30,
fontSize: '10pt'
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
// renderer: $.jqplot.DateAxisRenderer,
tickOptions: {
}
},
yaxis: {
tickOptions: {
}
}
},
highlighter: {
show: false,
sizeAdjust: 7.5
},
});
});
</script>

0

Решение

Что ж, благодаря одному из моих коллег, я наконец решил свою проблему! 🙂

Я давал jqplot строку, но для этого нужен массив! вот мое очень простое решение. надеюсь, это поможет кому-то!
Вот мой код, работающий на 100% пуленепробиваемый

            <script type="text/javascript" >

$(document).ready(function () {
var total1 = [];

// create a for loop to get dates and values and save them in a string
<?php
$j = count($data);
for ($x = 0; $x < $j; $x++) {
?>

var line1 = ['<?php echo $data[$x]['date'] ?>',<?php echo $data[$x][$myvalue] ?>];
total1.push(line1);
<?php } ?>
// alert(total1);
var plot1 = $.jqplot('chart1', [total1], {
animate: !$.jqplot.use_excanvas,
title: 'Number of errors from <?php echo $_POST['dateStart'] ?> to <?php echo $_POST['dateEnd'] ?> for <?php echo $_POST['dropDownMenu'] ?> ',
seriesDefaults: {
pointLabels: {show: true}
},
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
angle: -30,
fontSize: '10pt'
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
//renderer: $.jqplot.DateAxisRenderer,
tickOptions: {
}
},
yaxis: {min: 0,
}
},
highlighter: {
},
});
});
</script>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]