Получение конкретных данных с помощью кнопки PHP MYSQL MORRIS.JS

0

Поток программы: 1. При загрузке страницы у меня есть SQL-запрос, который вычисляет средний и общий объем продаж всех ветвей, и я генерировал кнопки для каждой ветки, используя цикл while. 2. Когда я нажимаю кнопку "Продажи" определенной ветки, SQL-запрос должен вычислять общие и средние продажи этой ветки и отображать ее с помощью MORRIS.JS.

У меня возникла проблема с получением конкретной ветки, чтобы отобразить общие и средние продажи.

PHP-код для создания кнопок для каждой ветки:

echo "var content = '<div class=".'content'.">'+
    '$image'+
    '<p class=".'street'.">".$row['street']."</p>'+
    '<span class=".'label'.">Branch:</span>'+
    '<span class=".'details'.">".$row['branch']."</span>'+
    '<span class=".'label'.">Country:</span>'+
    '<span class=".'details'.">".$row['country']."</span>'+
    '<span class=".'label'.">Barangay:</span>'+
    '<span class=".'details'.">".$row['barangay']."</span>'+
    '<span class=".'label'.">Town:</span>'+
    '<span class=".'details'.">".$row['town']."</span>'+
    '<span class=".'label'.">Province:</span>'+
    '<span class=".'details'.">".$row['province']."</span>'+
    '<span class=".'label'.">Phone:</span>'+
    '<span class=".'details'.">".$row['phone']."</span>'+
    '<span class=".'label'.">Email:</span>'+
    '<span class=".'details'.">".$row['email']."</span>'+
    '<span class=".'label'.">Website:</span>'+
    '<span class=".'details'.">".$row['website']."</span>'+
    '<a href='".$row['id']."' class=".'btn-sales'.">View Sales</button>'+
'</div>';

Код для расчета общего объема продаж всех веток и отображения данных с использованием диаграммы через Morris.js:

<div id="t-yearly-sales" style="height: 80%;"></div>
<?php
    include "connect.php";
    $sql = "SELECT year, SUM(sales) AS sales FROM tblSales GROUP BY year";
    $result = mysqli_query($conn, $sql);

    $chart = '';
    while ($row = mysqli_fetch_array($result)){
        $chart .= "{year:'".$row["year"]."', sales:".$row["sales"]."},";
    }                       
?>
<script>
    new Morris.Bar({
      element: 't-yearly-sales',
      data: [<?php echo $chart; ?>],
      xkey: 'year',
      ykeys: ['sales'],
      labels: ['Total Sales'],
      hideHover: 'auto'
    });
</script>
Теги:
morris.js

1 ответ

0

Я думаю, вы можете достичь id с помощью ajax-вызова. Сначала измените это

 '<a href='".$row['id']."' class=".'btn-sales'.">View Sales</button>'

К этому

 "<button onclick='chart(".$row['id'].")' class='btn-sales'>View Sales</button>"

Затем вы создаете функцию с вызовом ajax

function chart(id)
{
   $.ajax({
      method:GET,
      data:{keyid:id},
      url:'yourphpfunction.php',
      success:function(returnData)
      {
         new Morris.Bar({
         element: 't-yearly-sales',
         data: returnData,
         xkey: 'year',
         ykeys: ['sales'],
         labels: ['Total Sales'],
         hideHover: 'auto'
         });
      }
   });
}

В вашем php файле

$sql = "SELECT year, SUM(sales) AS sales FROM tblSales where id = " . $_GET['keyid'] . " GROUP BY year";
  • 0
    декларация в порядке, что я хочу, сэр, когда я нажимаю кнопку btn-sales, данные конкретной ветви будут рассчитаны продажи этой ветви
  • 0
    Так что нет ошибки js script ? Что делает ваш sql? от я могу увидеть его SUMS всех записей. Если я получу вашу точку зрения, может быть, вы должны использовать пункт where
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню