尝试使用 mysql 和 php 更新 jquery 变量
Trying to update jquery variables using mysql and php
我正在尝试使用jquery,php和mysql创建一个慈善计数器。我尝试每 5 秒使用 php 从 mysql 获取新值,而无需使用"window.setInterval()"更新页面,但我的问题是它没有抓取新值,而是继续使用它开始时获得的值。所以这是代码,我希望有些人能够帮助:)。
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
值。
编辑 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);
?>
如前所述,要每隔几秒钟使用新值更新页面,您需要与服务器进行某种交互,可能通过 AJAX。
下面是如何执行此操作的示例:
function getNewValues(){
return $.ajax({
url: 'submit.php',
type: 'POST',
dataType: 'json',
cache: false
});
}
window.setInterval(function(){
getNewValues()
.success(function(data) {
var needed = data["needed"],
got = data["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);
};
})
.fail(function() {
console.log("An error ocurred");
});
}, 500);
现在,每五秒就会向服务器触发一个请求并检索最新值。
您必须调整PHP脚本以返回一些简单的JSON:
{
"needed": needed_value,
"got": got_value
}
也许像这样:
<?php
$pdo = new PDO('mysql:host=host;dbname=db_name', 'user', 'pass');
$sql = 'SELECT needed, got FROM table';
$statement = $pdo->prepare($sql);
$statement->execute();
$result = $statement->fetch();
$json = json_encode($result );
echo($json);
?>
虽然这没有经过测试,但它应该有望为您指明正确的道路。
相关文章:
- 使用PHP更新external.js中的Javascript变量
- 如何使用 PHP 更新 JSON 文件中的值
- 如何使用PHP更新JavaScript变量
- 从javascript运行php更新文件
- 使用 PHP 更新网页的一部分
- 使用模态使用 php 更新查询
- 使用 ajax 函数触发的 php 更新数据库
- 尝试使用 mysql 和 php 更新 jquery 变量
- 使用 PHP 更新 SQL 数据库
- Javascript PHP更新所有打开的实例,如Facebook
- PHP更新单元格数据错误
- 使用Ajax/PHP更新Javascript变量
- 如何让PHP更新javascript的冗长进程状态
- 尝试用javascript/PHP更新数据库不工作
- PHP 更新后 JS 警报不会触发
- 从PHP更新mysql的最后一行
- 使用PHP更新后,在数据库中插入错误格式的日期
- 当Javascript中的数组更新时,如何使用PHP更新和插入数据库
- 使用PHP更新数据库后的视图的ajax更新
- PHP -更新动态HTML表中的一行