Codeigniter-在每次访问页面时更新DB


Codeigniter - Update DB on each page visit

我正在Codeigniter中创建我的站点,在那里我需要为每次页面访问更新表字段上的timestamp。由于我不熟悉Codeigniter中的控制流,我不知道该在哪里编写代码?它应该对网站周围的所有页面都是通用的。

您可以在application/config/hooks.php 中使用钩子

http://ellislab.com/codeigniter/user_guide/general/hooks.html

$hook['pre_controller'] = array(
                            'class'    => 'MyClass',
                            'function' => 'Myfunction',
                            'filename' => 'Myclass.php',
                            'filepath' => 'hooks',
                            'params'   => array('beer', 'wine', 'snacks')
                            );

最简单的方法可能是将其放入控制器的构造函数中,因为它在每次页面加载时都会被调用。

创建一个模型并将模型名称添加到config/autoload.php搜索行:

$autoload['model']=array();

然后(在您的模型制作完成后)您所需要做的就是在每个控制器上请求updateentry()函数;

$this->update->update_entry();

型号示例:

类更新扩展CI_Model{

function update_entry()
{
    $timestamp    = time();
    $this->db->where('id',1)->update('entries', array('timestamp' => $timestamp));
}

}

OR简单地将其放入__Construct