刷新PHP sql查询而不刷新页面

时间:2013-08-06 16:42:16

标签: php javascript mysql

我有一个问题,我希望你们中的一个人能够知道答案。

我正在从php运行一个sql查询来获取一些信息。然后我将该信息拉入脚本并将其插入api。我希望api每30秒访问一次最新信息。但是,显然,虽然脚本可以每30秒再次运行...但php不能,因此信息是相同的。

是否有可能让运行sql查询的php每30秒刷新一次而不刷新整个页面?

或者......有更好的方法可以做到这一点。我相信从javascript访问数据库不是一个好主意吗?

提前致谢。

2 个答案:

答案 0 :(得分:5)

您正在寻找AJAX。网上有很多教程解释如何创建由AJAX驱动的简单页面。

可以找到一个简单的例子here

(function() {
 setInterval(function() {
     $.ajax({
        async: true,
        dataType: 'json',
        type: 'GET',
        url: '/echo/json',
        success: function(data) {
            // You'd use data variable here, but JSFiddle doesn't return anything
            $('#test').html(Math.floor(Math.random()*100)-1); // Changes randomly after every fetch
        }
     });
 }, 200); 
}());

答案 1 :(得分:1)

你正在寻找ajax,

ajax允许你调用你的服务器whitout重新加载你的页面。

我建议您创建一个仅包含您的数据的页面,然后在您的应用页面上将其加载到div中

<div id="yourData"></div>

你可以使用James的答案来加载它,在你的任何id上改变'#yourData'的'#test'。

如果你正在使用jquery你也可以使用.load(),对我来说更清楚,http://api.jquery.com/load/

$('#yourData').load('YourAplication/YourDataGeneratorPage.html');