+ -
当前位置:首页 → 问答吧 → 请教高手!

请教高手!

时间:2010-01-10

来源:互联网

PHP怎样能“自动”从数据库查询新的数据?因为我有台数据服务器,几分钟就进来一条数据,怎样能获取最新的数据?请高手指教,不胜感激!

作者: 349466507   发布时间: 2010-01-10

获取完一次数据以后,生成一个配置文件,保存上次获取的最新一条的标志性信息(比如自动增长的数字主键,220001),每过几分钟或者用户刷新页面时获取新数据:获取的原理为从数据库检索所有主键大于220001的数据就可以了,之后的每一次都做类似的处理,只要更新配置文件,就知道上次获取到哪里了,另外不知道你的数据库的结构是怎样的,如果没有类似的自增长字段,可以考虑时间字段,保存获取后的时间字段的值生成配置文件就可以了,注:配置文件可以是一个PHP或其他格式的文件,内容简单点就可以:比如lastid=220001,或者干脆就只保留220001
[ 此帖被tafengnanhai在2010-01-10 11:47重新编辑 ]

作者: tafengnanhai   发布时间: 2010-01-10

可以参考下自动采集,计划任务,都也是有个时间执行的函数,再以此查数据库

作者: zx68555   发布时间: 2010-01-10

-_-

js:setTimeout
func:getResult、setLastId

1.setTimeout每隔几秒执行getResult函数并设置获取的最大的数据id通过setLastId设置到隐藏区域
2.getResult为ajax请求,提交lastId(表单隐藏域值),服务器返回数据
3.PHP:
复制代码
  1. $lastId = (int)$_REQUEST['lastId'];
  2. $row = $db->fetchAll('select * from tableName where id > '.$lastId);
  3. foreach($row as $item){
  4.     // 根据自己的格式输出数据。
  5. }
  6. //或者也无需foreach,直接输出JSON或XML类型数据
  7. echo json_encode($row);
  8. // 前台Js处理输出值

作者: cain   发布时间: 2010-01-10

我承认我不是高手·

作者: mylanglang   发布时间: 2010-01-10

拜谢各位了!真的非常感谢你们。

作者: 349466507   发布时间: 2010-01-10