关于js的setInterval函数对数据库进行刷新,怎么值不变呢

setInterval(function(){varvalue1=<?phpechodb_value()?>;varx=(newDate()).getTime(),//c... setInterval(function() {

var value1 = <?php echo db_value()?>;
var x = (new Date()).getTime(), // current time
y = value1;
series.addPoint([x, <?php echo db_value()?>], true, true);
alert(value1);
}, 1000);

db_value()的代码是:
<?php
function db_value()
{
include_once('connect.php');
$res = mysql_query("select value from date_data where id = (select max(id) from date_data)");
while($row = mysql_fetch_array($res)){
$value = $row[0];
//echo $value;
return $value;
}
}
把value1的值alert出来,怎么数据库新数据插入后为什么没变化呢?
展开
 我来答
匿名用户
2014-04-09
展开全部
js是客户端运行的语言
php是服务器端运行的语言
他们的执行顺序是,先php, 后js
也就是,当你在此戚浏览器等终端看到js的时候,php已经运行完成并且“熄灯睡觉”去了!
你在客户端刷新js,那备扒孝只是浏览器等在运行而已,与php何关呢???
你要php不断的运行,那你就要在客户端不断地请求服务仿稿器运行php
而不只是让js在客户端不停的循环执行!
追问
嗯,原理上已经明白了,非常感谢,有没有这方面的例子啊,给个链接什么的吧,应该怎么交互呢
追答
用ajax
如果用jquery, 那ajax就相当方便了
比如,把你的php代码单独保存成一个文件,比如是a.php
然后在你要显示数据的页面,加一个div标签
这里用户显示数据
然后js代码是
setInterval(function(){
$('#a').load('a.php');
},1000);

jqeury中, load方法的请求任意文件,并将请求回来的结果源赋值给指定标签对象
当然,不用jquery也行,用原生的js代码也可以
只是原生的js代码中的ajax代码非常复杂,而且兼容性也很难搞!
具体代码我也没记住,你可以百度一下 js ajax

不过要注意的是,由于浏览器的安全机制, ajax不允许跨域, 也就是, ajax代码在A网站, php代码在B网站,这样是请求不到的, 会出现js错误: 拒绝访问!
tsotsi
2014-04-09 · TA获得超过940个赞
知道小有建树答主
回答量:1367
采纳率:55%
帮助的人:690万
展开全部
....前后台交互不是你这样的。。。。。
ajax 之类的才对。
追问
额,应该怎么弄呢,第一次弄这个东西,实在头疼
追答
a.php

setInterval(function(){
$.ajax({
url:'a.php',
type:'POST',
dataType:'text',
data:'&a=1',
success:function(mydata){
alert(mydata);

}

});

},2000);

一个栗子
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式