2016-11-05 77 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事件套接字監聽