Моя общая цель состоит в том, что если есть значение в ID, то измените ячейку, где ID совпадает с числом.
например приведенные ниже данные были вытянуты в ячейку изменения 1,120,17,40,61,69,70,81,82,9 зеленого цвета, а остальные - красного цвета.
если есть что-то, что мне нужно изменить на стороне mysql, тогда дайте мне знать, что я попробовал, чтобы он был введен в базу данных из узла red, чтобы сказать, присутствует ли число от 1 до 100 в фиде mqtt, добавьте значение, присутствующее в столбце, если его нет в фиде добавить значение false, но я не мог заставить это работать.
Данные
[{"id":"1","present":"present","date":"2018-07-17","time":"10:53:20"},
{"id":"120","present":"present","date":"2018-07-17","time":"10:54:24"},
{"id":"17","present":"present","date":"2018-07-17","time":"10:53:40"},
{"id":"40","present":"present","date":"2018-07-17","time":"10:53:27"},
{"id":"61","present":"present","date":"2018-07-17","time":"10:53:14"},
{"id":"69","present":"present","date":"2018-07-17","time":"11:02:01"},
{"id":"70","present":"present","date":"2018-07-17","time":"10:53:17"},
{"id":"81","present":"present","date":"2018-07-17","time":"10:56:50"},
{"id":"82","present":"present","date":"2018-07-17","time":"10:59:28"},
{"id":"9","present":"present","date":"2018-07-17","time":"10:53:15"}]
PHP
<?php
header('Content-type: application/json');
$servername = "localhost:3306";
$username = "user";
$password = "password!";
$dbname = "test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
# header('Content-Type: applicaton/json');
$sql = 'SELECT
*
FROM test.test where time > NOW() - interval 30 minute group by id';
$result = $conn->query($sql);
$result = mysqli_query($conn , $sql);
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$rows[] = $r;
}
echo json_encode($rows);
$conn->close();
?>
Сторона HTML
<script>
$(document).ready(function() {
for (var i = 0; i < 12; i++) {
var row = $('<tr>').appendTo("#zoning tbody");
for (var j = 1; j < 11; j++) {
$(`<td class='${i * 10 + j}'>${i * 10 + j}</td>`).appendTo(row);
}
}
$.get('php/test.php', function(response) {
console.info(response);
var row;
response.forEach(function(item, index) {
console.info(item);
if (item.id == "notNULL") {
return $('td.coloured').css('background-color','green').toggleClass('coloured');
} else {
return $('td.coloured').css('background-color','red').toggleClass('coloured');
} });
});
function updateTable() {
//console.info('function called');
$('td.coloured').css('background-color','#8F8F8F').toggleClass('coloured');
$.get('php/test.php', function(response) {
response.forEach(function(item, index) {
console.info(item.beacon);
//$('td.coloured').css('background-color','#8F8F8F').toggleClass('coloured');
if (item.id == "notNULL") {
return $('td.coloured').css('background-color','green').toggleClass('coloured');
} else {
return $('td.coloured').css('background-color','red').toggleClass('coloured');
}
});
});
}
var updateTableInterval = setInterval(updateTable, 40000);
});
</script>
</head>
<body>
<table id='zoning'>
<tbody></tbody>
</table>
</body>
</html>



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


Вы должны изменить if (item.id = present) на if (item.id == present) в первом из них, которое вы устанавливаете для item.id, и это неверно, вам нужно проверить. Это просто синтаксическая ошибка