PHP: chart_db.php
<?php
require_once ('dbh.inc.php');
$JSON_Response = array();
//Counts the number of Active
$count_active = mysqli_query($db, "SELECT client_id FROM client WHERE status = 1");
$JSON_Response['active'] = mysqli_num_rows($count_active);
//Counts the number of Inactive
$count_inactive = mysqli_query($db, "SELECT client_id FROM client WHERE status = 0");
$JSON_Response['inactive'] = mysqli_num_rows($count_inactive);
error_log('hello');
echo json_encode($JSON_Response);
?>
JS: chart.js $(document).ready(function(){
$.ajax({
url:"http://localhost/FAME/private/includes/chart_db.php",
method: "GET",
success: function(response){
var data = JSON.parse(response);
var activeData = text(data.active);
var inactiveData = text(data.inactive);
console.log(activeData);
var ctx = document.getElementById('piechart').getContext('2d');
var statusChart = new Chart(ctx, {
type: 'doughnut',
data: {
labels: ['Active', 'Inactive'],
datasets: [{
pointStyle: 'circle',
backgroundColor: [ 'rgb(78, 115, 223)', 'rgb(25, 179, 211)' ],
data: activeData, inactiveData
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
segmentShowStroke: false,
cutoutPercentage: 70,
legend: {
onClick: false,
position: 'bottom',
labels: {
usePointStyle: true
}
}
}
});
}
});
});
Question: The problem is that in the data in chart are not showing. The entire chart is not showing. And with the log from chrome inspection: it says that there is an error: "Uncaught ReferenceError: text is not defined".
This has nothing to do with php, mysql or xampp. You are using an undefined method called text
. The error message says it all. Check your third and fourth lines in the ajax success. You have:
var activeData = text(data.active);
Replace it with:
var activeData = data.active;
and see what happens.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.