Я создал базу данных MySQL и запускаю xampp локально.
Вот мои данные.php:
<?php
//setting header to json
header('Content-Type: application/json');
//database
define('DB_HOST', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'products');
//get connection
$mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
if (!$mysqli){
die("Connection failed: " . $mysqli->error);
}
//query to get data from the table
$query = sprintf("SELECT date, url, price FROM table1");
//execute query
$result = $mysqli->query($query);
//loop through the returned data
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
//free memory associated with result
$result->close();
//close connection
$mysqli->close();
//now print the data
print json_encode($data);Выходной файл генерирует дату, цену и URL
Когда я затем смотрю на свой barchart.html, я пытаюсь ввести ссылку onclick на URL-адрес, когда пользователь нажимает на каждую панель.
$(document).ready(function(){
$.ajax({
url: "http://192.168.64.2/fs/data.php",
method: "GET",
success: function(data) {
console.info(data);
var date = [];
var price = [];
for(var i in data) {
date.push("" + data[i].date);
price.push(data[i].price);
}
var chartdata = {
labels: date,
datasets : [
{
label: 'price',
backgroundColor: 'rgba(200, 200, 200, 0.75)',
borderColor: 'rgba(200, 200, 200, 0.75)',
hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
hoverBorderColor: 'rgba(200, 200, 200, 1)',
data: price,
}
]
};
var ctx = $("#mycanvas");
var barGraph = new Chart(ctx, {
type: 'bar',
data: chartdata
});
},
error: function(data) {
console.info(data);
}
});
});Это сгенерированная гистограмма;
Когда я навожу курсор на гистограмму, отображаются дата и цена, однако при нажатии я хочу отправить пользователя по URL-адресу, вытащенному из таблицы1 в data.php
отдельные URL-адреса на бар, где у меня сейчас есть эта часть кода: успех: функция (данные) { console.info (данные); переменная дата = []; переменная цена = []; я должен просто получить URL-адреса из: var url = []; я думаю?
проверьте первый ответ на этот вопрос: stackoverflow.com/questions/41852585/chart-js-кликабельная панель // а также третий комментарий к этому ответу. Он должен делать то, что вам нужно
Я попытался добавить функцию OnClick после var chartdata = {}, но ничего не происходит.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


есть ли один URL-адрес для всей диаграммы или отдельные URL-адреса для каждого бара?