Использование переменной на PHP для создания другой переменной в JS - PullRequest
0 голосов
/ 23 ноября 2018

Мне трудно получить значение конкретной переменной в php для использования в js.Это мой код в php:

<?php
require("connection.php");

$sql_cmd = "SELECT * FROM tbstatus";

$stmt = $con->prepare($sql_cmd);
$stmt->execute();

echo "<h2>STATUS OF THE BABY</h2>";

while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "<h4>" . $result['status'] . "</h4>";
}
?>

Я хочу получить значение этого ($ result ['status']) и передать его в переменную pos в js.Это мой код js:

setInterval(function() {
    $("#position").load('refresh.php');
    notif();

}, 1000);

function notif() {
    var pos = $('PHP VARIABLE HERE').val();
    alert(pos);
}

Спасибо за вашу помощь.

Ответы [ 4 ]

0 голосов
/ 23 ноября 2018
===============
// refresh.php
===============

<?php  
require("connection.php");
$sql_cmd = "SELECT * FROM tbstatus";
$stmt = $con->prepare($sql_cmd);
$stmt->execute();

echo "<h2>STATUS OF THE BABY</h2>";

while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
      echo "<h4>" . $result['status'] . "</h4>";
      echo "<script> alert('". $result['status'] ."'); </script>";
      /* If the $result['status'] is 'success' the above line will be converted to:
       echo "<script> alert('success'); </script>";
      */
}

?>

поэтому, каждый раз, когда загружается файл refresh.php, сценарий будет выполняться.

Однако я предлагаю вам назначить идентификатор или атрибут класса для вашего h4, где вы повторяете свойстатус и доступ к значению с помощью селекторов в JavaScript.

0 голосов
/ 23 ноября 2018
  1. вы можете попробовать присвоить идентификатор или класс статусу .
  2. , затем в JavaScript вы можете получить значение идентификатора или класса.

PHP

<?php
require("connection.php");

$sql_cmd = "SELECT * FROM tbstatus";

$stmt = $con->prepare($sql_cmd);
$stmt->execute();

echo "<h2>STATUS OF THE BABY</h2>";
while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo '<h4> <span class="status">' . $result['status'] . '</span></h4>';
}

?>

JavaScript

var oldStatus = '';

setInterval(function() {
    $("#position").load('refresh.php');
    notif();
}, 1000);

function notif() {
    // note that since we used a class, you will get the value of the first element only.
    var pos = $('.status').text(); // use .text() instead of .val()
    if (pos.toLowerCase() == 'out' && pos != oldStatus){
        oldStatus = pos;
        alert(pos);
    }
}
0 голосов
/ 23 ноября 2018

если ваш код javascript находится на той же странице, где и результат, вы можете использовать это

var pos =  `<?php echo $result['status'] ?>`;

var pos =  `<?= $result['status'] ?>`;
0 голосов
/ 23 ноября 2018

Самый простой способ - вывести его непосредственно в javascript:

?>
<script type="text/javascript">
window.MY_PHP_VAR = <?php echo json_encode($myPhpVar); ?>;
</script>
...

window.MY_PHP_VAR now contains your php variable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...