Помогите мне, как разместить раскрывающийся список значений по годам, после чего он загрузится в данные JSON с помощью ajax. Исправьте мой код, пожалуйста, я студент, который любит учиться больше. Я ценю ваш вклад, чтобы проверить мой код, если он неправильный. Я не знаком с AJAX, но я пытаюсь.
<script>
$(document).ready(function () {
getGraph();
function getGraph()
{
$.getJSON("bar_graph_query.php", function (result)
{
var chart = new CanvasJS.Chart("chartBar", {
animationEnabled: true,
theme: "light2",
title:{
text: "Summary Rent Profit"
},
axisY: {
title: "Total (RM)"
},
data: [{
dataPoints: result,
}]
});
chart.render();
});
}
$.("#years").onchange(function(){
getGraph();
});
});
</script>
Скрипты ajax загружают данные в json (bar_graph_summary.php)
<div class="label">Select Name:</div>
<select class="form-control" name="years" id="years" style="width: 120px" >
<option value="'">Select Years</option>
<?php
include('db_conn.php');
$query = $conn->query("SELECT YEAR(rent_date) as years FROM rent GROUP BY YEAR(rent_date)");
while($row = $query->fetch_assoc())
{
echo '<option value="'.$row['years'].'">'.$row['years'].'</option>';
}
?>
</select>
Раскрывающийся список для выбора лет (bar_graph_summary.php)
<?php
include('db_conn.php');
$data_points = array();
$years = $_REQUEST['years'];
$query = mysqli_query($conn, "SELECT MONTHNAME(rent_date) as month, SUM(rent_total)as total FROM rent WHERE YEAR(rent_date)='$years' GROUP BY MONTH(rent_date)");
//$query = mysqli_query($conn, "SELECT MONTHNAME(rent_date) as month, SUM(rent_total)as total FROM rent GROUP BY MONTH(rent_date)");
while($row = mysqli_fetch_array($query))
{
$point = array("label" => $row['month'] , "y" => $row['total']);
array_push($data_points, $point);
}
echo json_encode($data_points, JSON_NUMERIC_CHECK);
?>
запрос данных json (bar_graph_query.php)