marc
marc

Reputation: 67

Looping data in controller from model codeigniter

I'm trying to prevent the user to create the same username. well my real problem is how to loop a list of data from model in controller. Maybe we know how to loop it in view by using this -> data['user'] and in view we can call $user. but how can we do that in controller layer.

here's my code

Controller

$username = strtolower($this->input->post('name'));

$fixUsername = str_replace(" ",".",$username);

                $counter = 1;
                $list[] = $this->addusermodel->getAllUsername();

                for($i=0;$i<sizeof($list);$i++) {
                    if($list[$i] == $fixUsername) {
                        $counter = 0;
                    }
                }

                if($counter == 0) {
                    $data['result'] = "The username has already been taken";
                    $this->load->view('adduserview',$data);
                } else {
                    $data = array(
                        'Nama' => $this->input->post('name'),
                        'Username' => $fixUsername."@praba",
                        'Password' => md5($this->input->post('password')),
                        'created' => date("Y-m-d h:i:sa"),
                        'createdBy' => $createdBy,
                        'lastModified' => date("Y-m-d h:i:sa"),
                        'lastModifiedBy' => $lastModifiedBy
                    );
                    $this->addusermodel->saveUser($data);
                    //$data['Username'] = $listName;
                    $data['message'] = "New user successfully added.";
                    $data['messageContent'] = "The username: ".$fixUsername."@praba". $counter;
                    $this->load->view('successpageview',$data);
                    //redirect('successpageview','refresh');
                }

my model (is like usual)

function getAllUsername() {

    $this->db->select('Username');

    $this->db->from('tbluser');

    $query = $this->db->get();

    return $query->result_array();
}

Upvotes: 2

Views: 782

Answers (1)

Alexey
Alexey

Reputation: 3637

I think a better approach would be to create another function in your model, which searches your database by ID, or by email, or by another unique field. If the function returns a row - then the user exists. If it returns nothing - then add a new user.

Upvotes: 1

Related Questions