Проблема получения переменной JSON из другого файла - PullRequest
1 голос
/ 31 октября 2019

Я пытаюсь получить объект из моего файла с именем load.php, я пытаюсь получать информацию из load.php каждые 5 секунд. По какой-то причине я мог сделать одну его часть, но я не могу получить другую переменную.

<script type="text/javascript" src="jquery-3.4.1.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function (){
      setInterval(function () {
        $.getJSON('load.php', function(sensors) {
          if (sensors) 
          {
              $('#p0-blocoCorrente').text(sensors.sensor1);
              $('#p1-blocoCorrente').text(sensors.sensor2);
              $('#p2-blocoCorrente').text(sensors.sensor3);
              //Error here:
              $('#p3-blocoCorrente').text(soma);
          }
        });
      }, 5000);
    });
    </script>

Это мой файл load.php:

<?php 

  session_start();

  include_once 'includes/dbh.inc.php';

  $soma = 0;
  $id = $_SESSION['userId']; 
  $dBname = "infosensor";
  $conn = mysqli_connect($servername, $dBUsername, $dBPassword, $dBname);

  $sql = "SELECT sensor1, sensor2, sensor3 FROM `$id` ORDER BY id DESC LIMIT 1;";

  $result = mysqli_query($conn, $sql);
  $row = mysqli_fetch_assoc($result);
  $sensors = array();
  if($row)
  {
      for ($i = 1; $i <= 3; $i++) {
          $s1 = $row["sensor$i"];
          $ss1 = intval($s1 * ($p = pow(10, 2))) / $p;
          $soma += $row["sensor$i"];
          $sensors["sensor$i"] = $ss1 . "A";
      }
      echo json_encode($sensors);
  } else {
      echo json_encode(null);
  }
?>

1 Ответ

1 голос
/ 31 октября 2019

В PHP добавьте сома в массив перед json'ом

<?php 

session_start();

include_once 'includes/dbh.inc.php';

$soma = 0;
$id = $_SESSION['userId']; 
$dBname = "infosensor";
$conn = mysqli_connect($servername, $dBUsername, $dBPassword, $dBname);

$sql = "SELECT sensor1, sensor2, sensor3 FROM `$id` ORDER BY id DESC LIMIT 1;";

$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$sensors = array();
if($row) {
    for ($i = 1; $i <= 3; $i++) {
        $s1 = $row["sensor$i"];
        $ss1 = intval($s1 * ($p = pow(10, 2))) / $p;
        $soma += $row["sensor$i"];
        $sensors["sensor$i"] = $ss1 . "A";
    }

    // add soma to the array
    $sensors['soma'] = $soma;
    echo json_encode($sensors);
} else {
    echo json_encode(null);
}
?>

Затем в javascript выведите его туда, куда вы хотите поместить его

<script type="text/javascript" src="jquery-3.4.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function (){
    setInterval(function () {
        $.getJSON('load.php', function(sensors) {
            if (sensors) {
                $('#p0-blocoCorrente').text(sensors.sensor1);
                $('#p1-blocoCorrente').text(sensors.sensor2);
                $('#p2-blocoCorrente').text(sensors.sensor3);

                $('#p3-blocoCorrente').text(sensors.soma);
            }
        });
    }, 5000);
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...