Гистограмма с двумя разными атрибутами одной и той же переменной [Chart.Js]

Добрый день всем, я пытаюсь отобразить гистограмму, которая показывает количество двух разных атрибутов с именем "Обратная связь" VS "Пожаловаться", и эти два атрибута основаны на выборе пользователя.

Я следовал некоторому руководству по созданию файла Json, чтобы данные были получены из mysql, а затем отображались на гистограмме. Итак, это data.php, который получает данные на основе запроса

   <?php
//setting header to json
header('Content-Type: application/json');
$mysqli = mysqli_connect('localhost','root','','customercaremodule');


if (!$mysqli){
    die("Connection failed: " . $mysqli->error);
}

//query to get data from the table
$query1 = sprintf("SELECT FC_Category FROM fbcomplain where FC_Category ='Feedback'");
$Countsql1 = "SELECT count(FC_ID) AS total FROM fbcomplain WHERE FC_Category ='Feedback'";

//execute query
$result1 = $mysqli->query($query1);
$res1 = mysqli_query($mysqli,$Countsql1);
$value1 = mysqli_fetch_assoc($res1);
$feedbackrowcount = $value1['total'];
//loop through the returned data
$data1 = array();
foreach ($result1 as $row) {
    $data1[] = $row;
}

//free memory associated with result
$result1->close();


//query to get data from the table
$query2 = sprintf("SELECT FC_Category FROM fbcomplain where FC_Category ='Complain'");
$Countsql2 = "SELECT count(FC_ID) AS total FROM fbcomplain WHERE FC_Category ='Complain'";
//execute query
$result2 = $mysqli->query($query2);
$res2 = mysqli_query($mysqli,$Countsql2);
$value2 = mysqli_fetch_assoc($res2);
$complainrowcount = $value2['total'];


//loop through the returned data
$data2 = array();
foreach ($result2 as $row) {
    $data2[] = $row;
}

//free memory associated with result
$result2->close();


//close connection
$mysqli->close();

//now print the data
print json_encode($data1);
print json_encode($data2);
print json_encode($feedbackrowcount);
print json_encode($complainrowcount);
?>

Тогда вот функция скрипта, с которой я столкнулся с большой проблемой. Я очень новичок в Chart JS и PHP в целом, если есть какие-либо недостатки безопасности, пожалуйста, терпите меня. СПАСИБО ЗА ЛЮБЫЕ ПОМОЩНИКИ

$(document).ready(function(){
    $.ajax({
        url: "http://localhost/customercare/data.php",
        method: "GET",
        success: function(data1) {
            console.info(data1);
            var feedback = [];
            var complain = [];

            for(var i in data1) {
                feedback.push(data1[i].$feedbackrowcount);
            }


            success: function(data2) {
                console.info(data2);
                var feedback = [];
                var complain = [];

                for(var i in data2) {
                    feedback.push(data2[i].$complainrowcount);
                }

            var chartdata = {

                datasets : [
                    {
                        label: 'Feedback',
                        backgroundColor: 'rgba(200, 200, 200, 0.75)',
                        borderColor: 'rgba(200, 200, 200, 0.75)',
                        hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
                        hoverBorderColor: 'rgba(200, 200, 200, 1)',
                        data: feedback
                    }
                ]
            };

            var ctx = $("#mycanvas");

            var barGraph = new Chart(ctx, {
                type: 'bar',
                data: chartdata
            });
        },
        error: function(data1) {
            console.info(data1);
        }
    });
});
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
43
1

Ответы 1

вы можете попробовать отправить объект обратной связи, например:

    var bar_chart_obj_1 = {data: data1[i].$feedbackrowcount, label: "data1", id: 0};
feedback.push(bar_chart_obj_1);
    var bar_chart_obj_2 = {data: $data2[i].$complainrowcount, label: "data2", id: 1};
feedback.push(bar_chart_obj_2);

Пробовал и не получилось. Он говорит, что в моей строке 16 есть неожиданный токен. success: function(data2)

Jeff Boon 05.12.2018 04:06

В функции php попытайтесь вернуть только один объект с ключами data1, data2, feedbackrowcount, жалобаrowcount. Я думаю, что для одного запроса ajax у вас есть один успех / ошибка ответа

simona 05.12.2018 10:13

Другие вопросы по теме