首页 > 解决方案 > 将 Codeigniter 3 与 phpmyadmin 数据库和 fullcalendar.io 集成

问题描述

你好,我在我的网站上使用 fullcalendar.io,对于我使用 ci3 的框架,我是新的 ci。所以问题是,我可以只为登录的用户加载数据库 fullcalendar.io 吗?我打算使用电子邮件连接它,因为我使用电子邮件登录我的网站..

这是我的用户数据库示例: 在此处输入图像描述

这是我在 fullcalendar.io 数据库上的活动:

在此处输入图像描述

这是我在控制器中的加载功能

 function load()
    {

        $event_data = $this->fullcalendar_model->fetch_all_event();
        foreach ($event_data->result_array() as $row) {
            $data[] = array(
                'id' => $row['id'],
                'title' => $row['title'],
                'start' => $row['start_event'],
                'end' => $row['end_event']
            );
        }
        echo json_encode($data);
    }

这是我的 fetch_all_event() 代码

function fetch_all_event()
    {
        $this->db->order_by('id');
        return $this->db->get_where('events');
    }

我应该添加一些东西还是什么?任何人都可以帮助我刚从 ci 开始,谢谢你

标签: phpmysqlcodeigniterfullcalendar

解决方案


所以最简单的方法是你只需要在你登录时存储你的会话数据,把它存储在你登录的页面上。这是我的:

if ($user) {
            // jika usernya ada
            if ($user['is_active'] == 1) {
                if (password_verify($password, $user['password'])) {
                    $data = [
                        'email' => $user['email'],
                        'role_id' => $user['role_id']
                    ];
                    $this->session->set_userdata($data);

您可以在您的加载模型中调用该电子邮件,这是我模型上的 fetch_all_event 函数代码:

function fetch_all_event()
    {
        $email = $this->session->userdata('email');
        $this->db->order_by('id');
        return $this->db->get_where('events', ['email' => $email]);
    }

这将解决该问题,请记住,您在数据库中的电子邮件不应该作为主键或唯一键。


推荐阅读