Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

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 5 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 5 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 5 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 5 tahun yang lalu

Login untuk ikut Jawaban