2

今日の売上のデータを MySQL データベースから取得したいと考えています。以下のコードでは、チャートにメニュー ID を 1 つだけ表示できます。S001、S002、S003、S004、S005があるように見せたい。アイテムの数量がゼロの場合でも表示されます。

function drawChart() {

    // Create the data table.
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Food');
    data.addColumn('number', 'Quantity');
    data.addRows([
      <?php
        $i = 0;
        require "init.php";
        $menu_id = "S001";

        //query db
        $sql = "SELECT m.food_name, SUM(o.quantity) AS quantity FROM `Order` o INNER JOIN `Menu` m ON m.menu_id = o.FK_menu_id WHERE DATE(`ordered_on`) = CURDATE() AND o.FK_menu_id = '$menu_id'";
        $result = mysqli_query($con, $sql) or die("Error: ".mysqli_error($con));

        while ($row = mysqli_fetch_array($result)) {
          $i++;
          echo "['".$row['food_name']."', ".$row['quantity']."]";
          if ($i < $row) {
            echo ",";
          }
        }
      ?>
    ]);

    // Set chart options
    var options = {'title':"Today's Sales",
                   'width':600,
                   'height':450,
                   'legend':'none'};

    // Instantiate and draw our chart, passing in some options.
    var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
    chart.draw(data, options);
  }

図は、現在のコードの出力です。 ここに画像の説明を入力

4

0 に答える 0