Я пытаюсь сделать счетчик благотворительности, используя jquery, php и mysql. Я пытаюсь получить новые значения из mysql, используя php каждые 5 секунд, не обновляя страницу с помощью «window.setInterval()», но моя проблема в том, что она не захватывает новые значения, но продолжает использовать значения, полученные в начале. так вот код, я надеюсь, что кто-то может помочь :).Пытается обновить переменные jquery с помощью mysql и php
window.setInterval(function(){
var needed = <?php echo neededGetFirst(); ?>;
var got = <?php echo gotGetFirst(); ?>;
console.log('needed: ' + needed);
console.log('got: ' + got);
var gaugeHeight = 223;
var gaugeBottom = 318;
var percent = (100/needed) * got;
var heightOffset = (gaugeHeight/100) * percent;
var bottomOffset = gaugeBottom - (gaugeHeight - heightOffset);
$('#gauge').animate({
height: heightOffset + 'px',
bottom: bottomOffset + 'px'
}, 1000);
for (var i = 2, limit = 7; i < limit; i++) {
var value = (needed/5) * (i - 1);
$('#stamp' + i).text(value);
};
}, 5000);
EDIT
Можно ли вернуть значение из файла с некоторым типом GET/RUN
? путем помещения функций базы данных php/mysql в файл и использования значений return
. '
EDIT 2
код PHP используется в файле:
<?php
$pdo = new PDO('mysql:host=127.0.0.1;dbname=thermometer', 'root', '');
$sql = 'SELECT `got`.`value` AS got, `needed`.`value` AS needed FROM `needed`, `got`';
$statement = $pdo->prepare($sql);
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($result);
echo($json);
?>
Вы хотите получить доступ к значению на стороне сервера (полученных голосов) в окне.setInterval, для этого вам необходимо использовать AJAX. Ваш текущий код, конечно же, будет использовать значения, которые он получил в начале, потому что вы эхом отдаете «полученное» значение при загрузке страницы, нет кода, который обновляет это значение. – Ananth