Fall: Ich erstelle Schaltflächen der SQL-Daten (While-Schleife), für jede Zeile Ergebnis (Maschine_ID, Tag_Name, Real_value), ich eine Schaltfläche erstellen. Diese Schaltfläche verfügt über eine onclick-Methode, die die JavaScript-Methode "drawChart()" aufruft und ein Diagramm mit einer statischen Abfrage öffnet. Ich versuche, diese Abfrage dynamisch mit den Werten der Schaltfläche, auf die geklickt wird, zu erhalten.Pass PHP-Variable (bei Klick) zu einem anderen PHP-Skript
Stück des Codes, der die Schaltflächen erstellt.
while ($row = mysqli_fetch_array($result)) {
if ($row["int_value"] == 0 && $row["real_value"] == 0.0 && $row["bool_value"] != "") {
$data[] = $row;
$output .= '
<tr>
<td width="30%"><button name="view" value="view" id="id" class="view_btn_data" onclick="drawChart(\'' . $row["tag_name"] . '\')">' . $row["tag_name"] . '</button></td>
<td width="30%">' . $row["bool_value"] . '</td>
<td width="40%">' . $row["datetime"] . '</td>
</tr>
';
}
Javascript-Code von drawChart():
function drawChart()
{
google.charts.load('current', {'packages': ['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart(tagname) {
var jsonData = $.ajax({
url: "testChart.php",
dataType: "json",
data: {tagname: tagname},
async: false
}).responseText;
var data = new google.visualization.DataTable(jsonData);
var options = {
chart: {
title: 'Values',
},
width: 900,
height: 500
};
//var chart = new google.charts.Line(document.getElementById('chart_div'));
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
//chart.draw(data, google.charts.Line.convertOptions(options));
chart.draw(data, options);
$('#chartModal').modal("show");
}
}
Tabelle erhält seine Daten von testChart.php, Abfrage unter:
$tagname = $_REQUEST['tagname'];
$Chart = "SELECT *
FROM (
SELECT *,
@rn := if(@tag_name = tag_name,
@rn + 1,
if(@tag_name := tag_name, 1, 1)
) as tag_count
FROM waardes
CROSS JOIN (SELECT @rn := 0, @tag_name := '') as vars
ORDER BY tag_name
) as T
WHERE tag_count < 51 AND machine_id LIKE 3 AND tag_name LIKE '. $tagname .'
ORDER BY datetime DESC";
Es funktioniert, aber mit ein statisches Diagramm, Punkt ist, wenn die Schaltfläche geklickt wird, möchte ich die Parameter dieser $ -Zeile an die Abfrage "WHERE tag_count < 51 AND machine_id LIKE Variable von $ row ["machine_id"] UND tag_name LIKE Variable von $ row ["tag_name"] ".
* Sorry, wenn es ein bisschen chaotisch ist, nicht wirklich vertraut mit PHP, HTML und Javascript.
Ihre Maschine-ID in URL übergeben "testChart.php? Id =". $ Row [ 'machine_id'] und greifen Sie in Ihrer PHP-Seite $ mit _GET ['machine_id'] – pravindot17
Ich habe den obigen Code bearbeitet. Bitte schauen Sie noch einmal. – Niels