Tampilan data tiap akun

Halo Para Mastah, Saya disini mau menanyakan seputar data yang telah ditambahkan oleh salah satu akun tetapi tidak bisa dilihat oleh akun lain, berikut gambarannya :

#Untuk modelnya

public function getTasks()
    {
        $query = "SELECT `user_tasks`.*,`user`.`name`
        FROM `user_tasks` JOIN `user`
        ON `user_tasks`.`tasks_id` = `user`.`id`
        ";

        return $this->db->query($query)->result_array();
    }

#Untuk controllernya

public function tasks()
    {
        $data['title'] = 'Tasks';
        $data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();
        $this->load->model('Tasks_model', 'name');

        $data['tasks'] = $this->name->getTasks();
        $data['name'] = $this->db->get('user')->result_array();

        $this->form_validation->set_rules('tasks_id', 'ID', 'required');
        $this->form_validation->set_rules('job', 'Job', 'required');
        $this->form_validation->set_rules('progress', 'Progress', 'required');

        if ($this->form_validation->run() == false) {

            $this->load->view('templates/header', $data);
            $this->load->view('templates/sidebar', $data);
            $this->load->view('templates/topbar', $data);
            $this->load->view('user/tasks', $data);
            $this->load->view('templates/footer');
        } else {
            $data = [
                'tasks_id' => $this->input->post('tasks_id'),
                'job' => $this->input->post('job'),
                'progress' => $this->input->post('progress')
            ];
            $this->db->insert('user_tasks', $data);
            $this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">New Tasks added
            </div>');
            redirect('user/tasks');
        }
    }

#Untuk viewsnya

<table class="table table-hover">
                <thead>
                    <tr>
                        <th scope="col">#</th>
                        <th scope="col">Name</th>
                        <th scope="col">Job</th>
                        <th scope="col">Progress</th>
                    </tr>
                </thead>
                <tbody>
                    <?php $i = 1; ?>
                    <?php foreach ($tasks as $t) : ?>
                        <tr>
                            <th scope="row"><?= $i; ?></th>
                            <td><?= $t['name']; ?></td>
                            <td><?= $t['job']; ?></td>
                            <td><?= $t['progress']; ?></td>
                        </tr>
                        <?php $i++; ?>
                    <?php endforeach; ?>
                </tbody>
            </table>

Untuk cara nambah datanya sih sudah saya akali dengan value="" readonly, jadi ketika nambahin data hanya berdasarkan nama/email akun login. Tetapi untuk tampilannya bisa dilihat oleh akun lain.

Mohon pencerahannya para Mastah. Maklum masi newbie jadi belum gitu paham.

avatar DollarMan
@DollarMan

2 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

saat insert masukan id user yang input gan, agar bisa tersaring saat menampilkan datanya

avatar rankoms
@rankoms

89 Kontribusi 12 Poin

Dipost 4 tahun yang lalu

Berarti langsung masukkan filter di controller ya gan? Bukan di views? Kalau bisa sarannya sekalian perintahnya gan biar ane lebih paham.

Btw ane pake CI 3 framework bs 4

avatar DollarMan
@DollarMan

2 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

siapkan kolom user_id di table untuk nampung user yang menginputkan.

nnti di controller tambah user_id berdasarkan SESSION['user_id']

di view kasih where user_id = SESSION['user_id']

avatar rankoms
@rankoms

89 Kontribusi 12 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban