如何在CodeIgniter框架中连续在控制器中运行文件

时间:2015-01-21 05:47:49

标签: php sql codeigniter

我正在研究CI框架,我需要在控制器中连续运行一个文件来检查数据库中的数据。 我已经尝试过在PHP中每2秒刷新一次页面。但这似乎是最好的方法,每2秒加载整个页面。所以我试图通过ajax调用运行该文件。 通常在php中我可以连续运行该文件。我在这个框架中尝试了同样的方法,但是我收到了一些错误,例如'致命错误:由于控制器中的类,在system / expressionengine / controllers / popup.php 中找不到类'CI_Controller'。 有没有办法通过AJAX调用连续在控制器中运行该文件。

这是我的代码

<?php
class Popup extends CI_Controller 
{
	public function __construct()
	{
		parent::__construct();
		$this->load->model('popup_model');
	}
	public function popup1()
	{
		$page = $_SERVER['PHP_SELF'];
		$sec = "2";
		header("Refresh: $sec; url=$page");
		$data['popup'] = $this->popup_model->get_events();
		$data['title'] = 'Pop Up';
		if (empty($data['popup']))
		{
			
		}
		else
		{
			$this->load->view('popup/popup1',$data);
			$this->load->view('popup/eve',$data);
		}
}

}

2 个答案:

答案 0 :(得分:2)

将ajax调用写入一个函数,并将文档就绪传递函数写入javascript函数setInterval(functionname, interval_delay);

答案 1 :(得分:0)

每2秒一次AJAX调用不好,可能会因为请求过多而使服务器过载。还有其他替代方法,如PHPWebsockets和NodeJS来实现这一目标。