Как отобразить результат вычитания между двумя массивами в chart.js?

Я пишу код PHP, чтобы показать графическое представление данных из базы данных MySQL. Код отлично работает с данными, которые уже есть в базе данных, но не появляется, когда я пытаюсь выполнить операции с этими данными.

Я предполагаю, что моя проблема лежит на стороне php - способ вычитания двух массивов, так как var_dump отображает массив значений внутри цикла while, но одно значение вне его. Я не могу обдумать это. Мой PHP-код выглядит следующим образом:

require "connect.php";
    $db_conn = OpenCon();


    $dates = '';
    $data1 = '';
    $data2 = '';
    $diff = '';
    $items = array();

    $get_all_data = "SELECT * from test1";
    $total_result = mysqli_query($db_conn, $get_all_data);

    while ($row = mysqli_fetch_array($total_result)) {  
        $date = date('d, M, Y', strtotime($row['my_date']));


        $dates = $dates.'"'.$date.'",'; 
        $data1 = $data1. '"'. $row['data1'].'",';
        $data2 = $data2. '"'. $row['data2'].'",';   

        $v1 = $row['data1'];
        $v2 = $row['data2'];
        $diff=$v1-$v2;
        $diff = (string)$diff;
        $items[] = $diff;
    }
    $diff = implode(",", $items);

    $dates = trim($dates, ",");
    $data1 = trim($data1, ",");
    $data2= trim($data2, ",");
    $diff= trim($diff, ",");

кусок моего скрипта для отображения графика:

{ //dataset also includes data1 and data2, which are displayed correctly
  label: 'Difference',
  data: [<?php echo $diff; ?>],
  backgroundColor: 'red'
}

Здесь я пытаюсь показать "data1" и "data2" (из db), а также разницу между ними (data1-data2). График правильно отображает "data1" и "data2", но результат вычитания между data1 и data2 вообще не отображается. Я буду очень признателен за все предложения.

ОБНОВЛЕНИЕ: я обновил код, и теперь он работает как нужно.

0 ответов

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