![](/img/trans.png)
[英]Refresh a div inside a PHP file using jQuery or JavaScript and Ajax
[英]Refresh PHP query using Javascript (or Jquery?)
我实际上正在寻找在页面上做几件事情。 我需要某些文本字段来经常更新并提取我存储在数据库中的信息。 我在JavaScript中使用PHP进行测试(或在PHP中使用JS?)。 我希望这些字段可以更新,而无需用户刷新页面。 我看过一些人提出类似问题的例子,但是我不明白如何根据自己的需要实施它。 这是我所拥有的,我确定这不是很有效,但是我试图理解。 这是我所拥有的
<!DOCTYPE html>
<html>
<body>
<div>Viewers and Followers:</div><div id="demo"></div>
<script>
var myVar = setInterval(function(){myFunc()}, 1000);
function myFunc() {
var t = "<?php $con=mysqli_connect('myhost','user','pass','myDB'); $myQuery=$con->query("SELECT * FROM streamers WHERE cname='Famiflashmedia'"); $featured = $myQuery->fetch_array(MYSQL_BOTH);?><?php echo $featured['viewers']?> viewers and <?php echo $featured['followers']?> followers!! <?php mysqli_close($con);?>"
document.getElementById("demo").innerHTML = t;
}
</script>
</body>
</html>
我也尝试过这样做,并得到了相同的结果:
<?php
$con=mysqli_connect('myhost','user','pass','myDB');
$myQuery=$con->query("SELECT * FROM streamers WHERE cname='Famiflashmedia'");
$featured = $myQuery->fetch_array(MYSQL_BOTH);
?>
<!DOCTYPE html>
<html>
<body>
<div>Viewers and Followers:</div><div id="demo"></div>
<script>
var myVar = setInterval(function(){myFunc()}, 1000);
function myFunc() {
var t = "<?php echo $featured['viewers']?> viewers and <?php echo $featured['followers']?> followers!!"
document.getElementById("demo").innerHTML = t;
}
</script>
</body>
</html>
<?php
mysqli_close($con);
?>
发生的事情似乎是永远不会重新发送查询以获取最新结果。 它刷新文本(至少我这么认为,因为我与弹出该函数每3秒了它所有的PHP,从不更新提示功能试过)。 关于我在做什么错的任何建议吗? 谢谢。
PHP在服务器上运行一次,然后不再运行。 要运行多次更新,你需要AJAX -或者可能只是.load()
首先,将您的PHP放在一个单独的文件中,然后根据需要调用它— myfile.php
例如:
<?php
$con=mysqli_connect('myhost','user','pass','myDB');
$myQuery=$con->query("SELECT * FROM streamers WHERE cname='Famiflashmedia'");
$featured = $myQuery->fetch_array(MYSQL_BOTH);
?>
<?php echo $featured['viewers']?> viewers and <?php echo $featured['followers']?> followers!! <?php mysqli_close($con);?>"
然后使用jQuery定期从该脚本更新页面的某些部分:
<!DOCTYPE html>
<html>
<body>
<div>Viewers and Followers:</div><div id="demo"></div>
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script>
var myVar = setInterval(myFunc, 1000);
function myFunc() {
$("#demo").load('/path/to/myfile.php');
}
</script>
</body>
</html>
您构建的此PHP页面将仅在页面加载后才显示数据库信息。 如果要动态更新页面,则可以考虑“ AJAX”加载一个单独的PHP页面,其中包含数据库查询并将显示的结果显示到当前页面的Div中。 您可以仅使用Javascript完成此操作
http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp
或jQuery使用load()函数对此实现了相当不错的实现。
也许您可以使用meta标签刷新页面? 对于实例:
<meta http-equiv="refresh" content="30">
这将每30秒刷新一次页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.