2015-06-09 6 views
7

मेरे पास मेरे डैशबोर्ड पृष्ठ में ऑनलाइन और ऑफलाइन उपयोगकर्ताओं की सूची प्रदर्शित करने वाली एक तालिका है। मैं यह दिखाने के लिए हर 5 सेकंड में पूरी तालिका को स्वचालित रूप से रीफ्रेश करने का प्रयास कर रहा हूं कि क्या ऐसे अन्य उपयोगकर्ता हैं जो पूरे पृष्ठ को रीफ्रेश किए बिना लॉग इन या आउट करते हैं। मैंने इस बारे में विभिन्न धागे और पृष्ठों के माध्यम से खोज की है जो मुझे AJAX या JSP का उपयोग करने के लिए कह रही है। लेकिन मैं इसे काम नहीं कर सकता।पूरे पृष्ठ को रीफ्रेश किए बिना ऑनलाइन उपयोगकर्ता तालिका के ऑटो रीफ्रेश

<div class="col-md-2"> 
    <table class="table table-striped"> 
    <thead> 
     <tr> 
     <th>Status</th> 
     <th>&nbsp;</th> 
     </tr> 
    </thead> 

    <tbody> 
     <?php 
     $online = DB::table('users')->where('group_id', $user->group_id)->orderBy('online', 'desc')->get(); 
     foreach($online as $val=>$key) 
     { ?> 
      <tr> 
      <td><?php if ($key->online == 1) { echo '<span class="label label-success">Online</span>'; } else { echo '<span class="label label-warning">Offline</span>'; } ?></td> 
      <td><?=$key->first_name." ".$key->last_name?></td> 
      </tr> 
     <?php } ?> 
    </tbody> 
</table> 

मैं एक अलग धागे पर इस कोड को पाया, लेकिन जब मैं अपने प्रोजेक्ट पर इसका इस्तेमाल करने की कोशिश की, यह मेरी तालिका में डेटा लोड नहीं किया गया था:

यह मेरी मेज है । मैं जावास्क्रिप्ट या AJAX के साथ काम करने में बहुत परिचित नहीं हूं, इसलिए मुझे उम्मीद है कि आप मेरी मदद कर सकते हैं। यह बहुत सराहना की जाएगी।

<script> 
    $(document).ready(function(){ 
     $("#refresh").click(function() 
     { 
      $("#Container").load("content-that-needs-to-refresh.php"); 
      return false; 
     }); 
    }); 
</script> 

<div id="Container"> 
<?php include('content-that-needs-to-refresh.php'); ?> 
</div> 
<a href="#" id="refresh">Refresh</a> 
+0

यदि आप प्रत्येक 5 सेकंड के बाद स्वचालित रूप से पुनः लोड करना चाहते हैं तो 'setTimeout' का उपयोग करें। लेकिन मैं इसे '# ताज़ा करें' की अवधारणा को समझ नहीं पा रहा हूं, जब आप इसे स्वचालित रूप से चाहते हैं तो यहां क्लिक करें! और मुझे लगता है कि आपकी 'सामग्री-ज़रूरत-से-refresh.php' में' टेबल 'है जिसे आप सही लोड करना चाहते हैं? –

+0

तो क्या आपके द्वारा पोस्ट किया गया कोड एक बार आपकी तालिका लोड करता है और क्या आप यह पूछ रहे हैं कि इसे कैसे अपडेट किया जाए, या यह कभी काम नहीं करता? बस सत्यापित करने के लिए (जैसा कि आपने बताया है कि आप जेएस से परिचित नहीं हैं) क्या आपने अपने पेज पर jquery lib लोड किया था? –

उत्तर

1

सुनिश्चित करें कि आपने jQuery लोड किया है। आप Google सीडीएन का उपयोग कर सकते हैं या इसे सहेज सकते हैं और इसे अपने सर्वर पर लोड कर सकते हैं।

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 

उपयोग setInterval

<script> 
    $(document).ready(function(){ 
     var refreshUsers = setInterval(function() { 
      $("#Container").load("content-that-needs-to-refresh.php"); 
     }, 5000); // 5000 ms = 5 sec 
    }); 
</script> 

<div id="Container"> 
<?php include('content-that-needs-to-refresh.php'); ?> 
</div> 

आप ताज़ा बंद करना चाहते हैं चाहिए, तो का उपयोग

clearInterval(refreshUsers); 
+0

@YllanLacorte कोई प्रतिक्रिया? –

3

आपके मामले में पूरी तरह से आप के लिए काम कर रहे।

setInterval(function() 
{ 
    //call ajax here..for your table result 
} 
}, 3000);  

और फिर AJAX आपको हर 3 सेकंड का परिणाम देगा।

मुझे आशा है कि यह आपके लिए काम करेगा।

संबंधित मुद्दे