大家好,我刚刚接触Ajax不久,在做项目的过程中遇到了一个问题想跟大家讨论一下。假如现在有一个main.php界面,有一个数据库,main.php就是要显示数据库里面的各条记录,而数据库里面的记录是随时都有可能变化的,所以我想把main.php做成一个定时刷新的,这样就能实现实时更新了。
我现在写出来了这三个文件:main.php 、getRecords.php 、ajax.js 其中main.php就是负责显示的,getRecord.php的功能就是后台脚本文件,负责连接到数据库并且查找数据库,并将结果返回到main.php中进行显示,ajax.js文件大家肯定都知道是什么,就是构造XMLHttpRequest对象,向服务器发送GET请求(请求getRecords.php).
然后现在我有一个问题:连接数据库的代码是在getRecords.php里面写着,也就是说在请求getRecords.php后要有一个连接数据库的过程,在获得所需的数据后再把连接关掉(也在getRecords.php中实现)。这样,由于要定时刷新,也就是说要定时去请求getRecords.php文件,也就是说要定时去连接、关闭数据库。我设置的时间间隔是5秒,我觉得每5秒就要进行一次连接数据库,然后关掉,再连接,再关掉...这样肯定会对使服务器负载很大吧?
所以我就想能不能这样:在main.php被载入之后就连上数据库,然后这个连接一直保持着,这样每隔5秒钟去查询数据就不用再去连接数据库了,当main.php被关掉之后再关闭数据库的连接。不知道这样可以不,如果可以的话怎么实现?希望高手指点迷津啊!!
附上我的代码简化版:
ajax.js略
getRecords.php:
<?php
$link_id=@mysql_connect... //连接数据库
@mysql_select_db("XXX",$link_id)... //选择数据库
$b=mysql_query... //查询数据库
echo "..." //将查询结果返回给main.php
?>
main.php
<html>
<body onLoad=...>
...
<div id="showarea"></div>
</body>
</html>
我现在写出来了这三个文件:main.php 、getRecords.php 、ajax.js 其中main.php就是负责显示的,getRecord.php的功能就是后台脚本文件,负责连接到数据库并且查找数据库,并将结果返回到main.php中进行显示,ajax.js文件大家肯定都知道是什么,就是构造XMLHttpRequest对象,向服务器发送GET请求(请求getRecords.php).
然后现在我有一个问题:连接数据库的代码是在getRecords.php里面写着,也就是说在请求getRecords.php后要有一个连接数据库的过程,在获得所需的数据后再把连接关掉(也在getRecords.php中实现)。这样,由于要定时刷新,也就是说要定时去请求getRecords.php文件,也就是说要定时去连接、关闭数据库。我设置的时间间隔是5秒,我觉得每5秒就要进行一次连接数据库,然后关掉,再连接,再关掉...这样肯定会对使服务器负载很大吧?
所以我就想能不能这样:在main.php被载入之后就连上数据库,然后这个连接一直保持着,这样每隔5秒钟去查询数据就不用再去连接数据库了,当main.php被关掉之后再关闭数据库的连接。不知道这样可以不,如果可以的话怎么实现?希望高手指点迷津啊!!
附上我的代码简化版:
ajax.js略
getRecords.php:
<?php
$link_id=@mysql_connect... //连接数据库
@mysql_select_db("XXX",$link_id)... //选择数据库
$b=mysql_query... //查询数据库
echo "..." //将查询结果返回给main.php
?>
main.php
<html>
<body onLoad=...>
...
<div id="showarea"></div>
</body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货