本文实例讲述了php+jquery ajax实现的实时刷新显示数据功能。分享给大家供大家参考,具体如下:

创建数据表:demo

--
-- 表的结构 `demo`
--
create table if not exists `demo` (
 `id` int(11) not null auto_increment,
 `name` varchar(20) collate utf8_bin not null,
 primary key (`id`)
) engine=innodb default charset=utf8 collate=utf8_bin auto_increment=5 ;
--
-- 转存表中的数据 `demo`
--
insert into `demo` (`id`, `name`) values
(1, '雷军'),
(2, '马化腾'),
(3, '李彦宏'),
(4, '马云');

服务器文件:demo.php

<?php
$mysqli = new mysqli("localhost","root","","test");
$mysqli->set_charset('utf8');
$query = 'select * from demo';
$result = $mysqli->query($query);
$arr = $result->fetch_all(mysqli_assoc);
$info = json_encode($arr);
echo $json = '{"success":true,"info":'.$info.'}';

显示数据网页: fresh.html

<html>
<head>
  <meta charset='utf-8'>
  <title>hello</title>
</head>
<body>
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<script>
  function check(){
    $.ajax({
      type:"get",
      url:"./demo.php",
      datatype:"json",
      success:function(data){
        if(data.success){
          var count = data.info.length;
            for(i=0;i<count;i++){
              var dom = "<tr align='center' id='"+data.info[i].id+"'><td>"+data.info[i].id+"</td><td>"+data.info[i].name+"</td></tr>";
              var tag = '#'+data.info[i].id;
              if(!$(tag).length){
                $("#info").append(dom);
              }
            }
        }else{
          alert('error');
        }
      },
      error:function(res){
        alert(res.status);
      }
    });
  }
  window.setinterval(check, 1000); //每秒执行一次
</script>
<body>
  <div style='width:600px;margin:0 auto;'>
    <table border='1' width="600px">
      <thead>
        <tr><th>id</th><th>name</th></tr>
      </thead>
      <tbody id='info'>
        <tr align='center' id='111'><td>111</td><td>测试</td></tr>
      </tbody>
    </table>
  </div>
</body>
</html>