#javascript #php #mysql #ajax #chart.js
#javascript #php #mysql #ajax #chart.js
Вопрос:
Я пытаюсь создать диаграмму с chart.js . У меня есть php-код, который возвращает данные даты и времени с помощью вызова ajax. Проблема в том, что он не показывает никаких данных и не показывает ошибок. Я использовал console.log(), чтобы проверить, не случилось ли что-то не так с кодом php, но это кажется правильным.
PHP-КОД
require_once 'core.php';
$sql = sprintf("SELECT entradas, salida_laborable FROM tiempo where cod_fecha = 60");
$result = $connect->query($sql);
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
$result->close();
$connect->close();
print json_encode($data);
Ajax /Javascript
$(document).ready(function(){
$.ajax({
url : "php_action/horas_chart.php",
type : "GET",
success : function(data){
console.log(data);
var cod_fecha = [];
var entradas = [];
for(var i in data) {
cod_fecha.push(data[i].cod_fecha);
entradas.push(data[i].entradas);
}
var chartdata = {
labels: name,
datasets: [
{
label: 'Promedio',
backgroundColor: '#49e2ff',
borderColor: '#46d5f1',
hoverBackgroundColor: '#CCCCCC',
hoverBorderColor: '#666666',
data: entradas
}
]
};
var ctx = $("#canvas");
var LineGraph = new Chart(ctx, {
type: 'bar',
});
},
error : function(data) {
}
});
});
Это результат:
Спасибо, я был бы признателен за любые советы.
Ответ №1:
Насколько я помню, charjs ожидает объект Date () для ввода даты https://www.chartjs.org/docs/latest/axes/cartesian/time.html
итак, вы можете попробовать
for(var i=0; i<data.length; i ) {
entradas.push(new Date(data[i].entradas));
}