Не вытягивает данные с таблицы

Рейтинг: 0Ответов: 1Опубликовано: 20.04.2023

Данный код должен вытягивать данные с базы, для отображения графика. По непонятной для меня причине данные с базы не вытягивает. Буду признателен если подскажете в чем ошибка.

<?php for ($i = 6; $i >= 0; $i--) {
    global $mysqli;
    $profit_table = $mysqli->query('profit', '`login`=' . escape_db($login) . ' AND `status`=' . escape_db(1) . ' AND `date_end`>=' . strtotime(date('d-m-Y', time() - 86400 * $i)) . ' AND `date_end` <=' . strtotime(date('d-m-Y', time() - 86400 * ($i - 1))));
    $day_sum = 0;
    foreach ($profit_table as $item) {
        $day_sum = $day_sum + $item['summa'];
    }
    echo "{x: '" . date('d.m', time() - 86400 * $i) . "', y: '" . $day_sum . "'},";
} ?>

P.S. Решил добавить весь код что бы было понятнее, на всякий случай.

Morris.Area({
  element: 'graph<?php echo strtoupper(escape($val)); ?>',
  behaveLikeLine: true,
  data: [

  <?php for ($i = 6; $i >= 0; $i--) {
      global $mysqli;
      $profit_table = $mysqli->query('profit', '`login`=' . escape_db($login) . ' AND `status`=' . escape_db(1) . ' AND `date_end`>=' . strtotime(date('d-m-Y', time() - 86400 * $i)) . ' AND `date_end` <=' . strtotime(date('d-m-Y', time() - 86400 * ($i - 1))));
      $day_sum = 0;
      foreach ($profit_table as $item) {
          $day_sum = $day_sum + $item['summa'];
      }
      echo "{x: '" . date('d.m', time() - 86400 * $i) . "', y: '" . $day_sum . "'},";
    } ?>

  ],
  xkey: 'x',
  ykeys: 'y',
  labels: 'x',
  resize: true,
  parseTime: false,
  smooth: true,
  lineColors: ['#3ab44c'],
  lineWidth: 01,
  pointStrokeWidths: [1],
  shown: true,
  pointFillColors: ['#3ab44c'],
  pointStrokeColors: ['#fff'],
  gridLineColor: 'rgba(0,0,0, .1)',
  gridStrokeWidth: 1,
  numLines: 9,
  pointSize: 4,
  yLabelFormat: function(y) {
    return number_format(y.toString(), 2, ',', ' ');
  },
  hideHover: 'auto',
  gridTextColor: '#000',
  gridTextSize: 16,
  grid: true,
  axes: true,
  continuousLine: 'undefined',
  fillOpacity: 100,
  hoverCallback: function(index, options, content, row) {
    return "+" + number_format(row.y, 2, ',', ' ');
  }
});

$(".graph_currency").on("click", function() {

  $(".graph_currency").removeClass("active_graph");
  $(this).addClass("active_graph");
  val = $(this).data("val");
  $(".chart_visible").css("display", "none");
  $("#graph" + val).fadeIn(1500).css("display", "block");
  //$(".graph"+val).css("display", "block");

});

function Values(val) {
  $(".chart_visible").css("display", "none");
  $("#graph" + val).css("display", "block");
}


$(document).ready(function() {
  Values('<?php echo strtoupper(escape($val)); ?>');
});

Пробовал способом ниже.

<?php
for ($i = 6; $i >= 0; $i--) {
    $list = get_list('profit', '`login`=' . escape_db($login) . ' AND `status`=' . escape_db(1) . ' AND `date_end`>=' . strtotime(date('d-m-Y', time() - 86400 * $i)) . ' AND `date_end` <=' . strtotime(date('d-m-Y', time() - 86400 * ($i - 1))));
    $list_res = array();
    $day_sum = 0;
    foreach ($list as $item) {
        $item["summa"] = $item["amount"];
        $list_res = $day_sum + $item['summa'];
    }
    echo "{x: '" . date('d.m', time() - 86400 * $i) . "', y: '" . $list_res . "'},";
} ?>

Результат:

{x: '14.04', y: 'Array'},{x: '15.04', y: 'Array'},{x: '16.04', y: 'Array'},{x: '17.04', y: 'Array'},{x: '18.04', y: 'Array'},{x: '19.04', y: 'Array'},{x: '20.04', y: 'Array'}

Ответы

▲ 0

при запросе к базе ошибся, при выборе строки из таблицы я указал 'date_end' а в таблице строка называется 'date' невнимательность от усталости. Всем большое спасибо за участие.

Ниже рабочий код:

<?php
for ($i = 6; $i >= 0; $i--) {
    $list = get_list('profit', '`login`=' . escape_db($login) . ' AND `status`=' . escape_db(1) . ' AND `date`>=' . strtotime(date('d-m-Y', time() - 86400 * $i)) . ' AND `date` <=' . strtotime(date('d-m-Y', time() - 86400 * ($i - 1))));
    $list_res = array();
    $day_sum = 0;
    foreach ($list as $item) {
        $item["summa"] = $item["amount"];
        $list_res = $day_sum + $item['summa'];
    }
    echo "{x: '" . date('d.m', time() - 86400 * $i) . "', y: '" . $list_res . "'},";
} ?>