我想用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