我想用jQuery,php和mysql制作慈善计数器。 我试图从MySQL使用PHP每5秒获取新的值,而不更新页面使用'window.setInterval()',但我的问题是,它没有抓取新的值,但它始终使用它在开始得到的值。所以这里的代码,我希望有些人能够帮助:)。试图使用mysql和php更新jquery变量
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);
编辑
是否有可能从一个文件中的一些类型的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);
?>
你想访问window.setInterval中的服务器端值(得到的票数),你需要使用AJAX来做到这一点。您当前的代码当然会使用它在开始时获得的值,因为您在页面加载时回显“获得”值,没有任何代码可以刷新该值。 – Ananth 2014-12-06 16:21:45