Поток программы: 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>
Я думаю, вы можете достичь 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";
js script
? Что делает ваш sql? от я могу увидеть егоSUMS
всех записей. Если я получу вашу точку зрения, может быть, вы должны использовать пунктwhere