2016-11-05 73 views
0

我正在使用ajax,从数据库中获取数据,我已经设法使用ajax显示我的数据,而且我想做它,如果有额外的数据库,它会自动添加到我的视图中。我怎么做到这一点,我把我的代码放在document.ready中,因为每次用户点击我的页面时,它都会自动显示所有的数据,但是我的问题是这样的:当用户查看页面时,数据库,当我们查看页面时,我怎样才能实时将它添加到用户视图中。我正在使用codeigniter。每次有实时插入数据库

这里是我的代码:

$(document).ready(function() { 
    show_patients(); 
}); 
function show_patients() { 
    $("#queue").empty(); 
    $.ajax({ 
     url: siteurl+"myclinic/get_patients", 
     type: "GET", 
     dataType: "JSON", 
     success: function(data) { 
      if(data.length>0) { 
      for(i=0;i<data.length;i++) { 
       $('#queue').append('<div class="col-sm-10">'+'<div class="panel-group">'+'<div class="panel panel-info">'+ 
            '<div class="panel-heading">'+'<h4><a data-toggle="collapse" href="#patientinfo'+data[i]['patient_id']+'">'+data[i]['order_num']+' '+data[i]['patient_lname']+', '+data[i]['patient_fname']+' <span class="fa fa-arrow-circle-o-down pull-right"></span></a></h4>'+ 
            '</div><!-- panel-heading -->'+'<div id="patientinfo'+data[i]['patient_id']+'" class="panel-collapse collapse">'+'<div class="panel-body">'+'<div class="row">'+ 
            '<div class="col-sm-4">'+'<button class="btn btn-success btn-sm">Check me up</button>'+'</div><!-- col-sm-4 -->'+'<div class="col-sm-6">'+ 
            '<div class="img-patient">'+'<div class="patient-pic" style="background-image: url('+data[i]['patient_photo']+')"></div>'+'</div><!-- img-patient -->'+'</div><!-- col-sm-6 -->'+'</div><!-- row -->'+ 
            '</div><!-- panel-body -->'+'</div><!-- panel-collapse -->'+'</div><!-- panel -->'+'</div><!-- panel-group -->'+'</div><!-- col-sm-10 -->'); 
      }; 
      } 
      else { 
      $('#queue').append('<h4> No Patients in queue </h4>'); 
      } 
     } 
    }); 
} 
+0

实时...也许阅读有关HTTP协议的文档。请求 - >发送 - >完成。也许看看websockets来维持一个活跃的连接。 – Xorifelse

+0

如果我理解正确,您希望首先在视图中显示最新数据,那么只需在查询中添加“ORDER BY日期字段或ID字段”即可。在单次提取所有数据并不好,你应该添加一个限制并创建一个分页。@ JcJohn –

+0

@parthmahida谢谢你的评论sir。我想要一个听众?或者如果有数据库中添加数据,视图div自动刷新使用ajax .. –

回答

0

我不会运行在生产服务器上一些Ajax循环,藏汉,仿佛这是neccecary的数据是完全准确的,你应该看看插座,的NodeJS和插座。 IO非常适合这个。

它将完全实时并且易于保护。

+0

你可以给我一些关于如何从套接字编程转换此代码的教程?..东西无限听众? –

+0

我建议使用他们的实时聊天应用程序查看nodejs的文档。这应该会给你足够的资源来适应你自己的需求。 http://socket.io/get-started/chat/ – killstreet

0

,如果你看到的实时应用程序使用socke.io为多数民众赞成的NodeJS非常简单,只使用你应该对你的客户端和服务器端的套接字emmiter当数据库已经改变了emmit事件套接字监听