这里有人知道如何从帮助器回显函数并在每个时间间隔调用它吗?我想使用它,所以我不必在每个控制器中调用我的功能。
我的助手有这两个功能:
function online_count() {
$CI =& get_instance();
$CI->load->model('Auth_model');
return $CI->Auth_model->online_count();
}
function online_members() {
$CI =& get_instance();
$CI->load->model('Auth_model');
return $CI->Auth_model->online_members();
}
这是我的观点的代码片段,需要这些功能:
<ul class="nav nav-pills pull-right">
<li class="dropdown">
<a href="javascript:void(0)" data-toggle="dropdown" class="dropdown-toggle">Online </b> <span class="badge badge-success"><?php echo online_count(); ?></span></a>
<?php
if(online_count() != 0) { ?>
<ul class="dropdown-menu">
<?php
$members = online_members();
foreach($members as $members_data) { ?>
<li><a href="javascript:void(0)" onclick="javascript:chatWith('<?=$members_data->username;?>')"><?php echo $members_data->firstname; ?></a></li>
<?php }
?>
</ul>
<?php }
?>
</ul>
这是我的剧本:
<script>
function online() {
//Calls the function
}
setInterval(online, 5000);
</script>
希望有人可以提供帮助。谢谢!
答案 0 :(得分:0)
试试这个
<script>
setInterval(function(){
<?php online_members(); ?>
<?php online_count(); ?>
},5000);
</script>
答案 1 :(得分:0)
我做到了:
$(document).ready(function(){
setInterval(function(){
$.ajax({
url: "/system/online",
type: 'post',
data: {"token": " "},
success: function(html){
$("#online").html(html);
}
});
}, 1000);
setInterval(function(){
$.ajax({
url: "/system/online_members",
type: 'post',
data: {"token": " "},
success: function(html){
$("#online_members").html(html);
}
});
}, 1000);
});
但是我会为更短的代码行改进这一点。