Create Database
CREATE TABLE IF NOT EXISTS `users` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`username` varchar(15) NOT NULL,
`password` text NOT NULL,
`fullname` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
)
Setup Controller
application\controllers\user.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | <?php if ( ! defined( 'BASEPATH' )) exit ( 'No direct script access allowed' ); class User extends CI_Controller{ /** * The __construct function is called so that I don't have to load the model each and every time. * And any change while refactoring or something else would mean change in only one place. */ function __construct() { parent::__construct(); $ this ->load->model( 'Model_user' ); $ this ->load->library( 'form_validation' ); $ this ->load->helper( 'form' ); } function index(){ $data[ 'query' ] = $ this ->Model_user->getAll(); $ this ->load->view( 'view_user/input' ,$data); } function submit(){ if ($ this ->input->post( 'submit' )){ if ($ this ->input->post( 'id' )){ $ this ->form_validation->set_rules( 'username' , 'Username' , 'required|min_length[5]|max_length[12]' ); $ this ->form_validation->set_rules( 'password' , 'Password' , 'matches[passconf]' ); $ this ->form_validation->set_rules( 'fullname' , 'Fullname' , 'required|min_length[5]|max_length[25]' ); if ($ this ->form_validation->run() == FALSE){ $data[ 'id' ] = $ this ->input->post( 'id' ); $data[ 'username' ] = set_value( 'username' ); $data[ 'fullname' ] = set_value( 'fullname' ); $ this ->load->view( 'view_user/edit' ,$data); } else { $ this ->Model_user->update(); redirect( 'view_user/index' ); } } else { $ this ->form_validation->set_rules( 'username' , 'Username' , 'required|min_length[5]|max_length[12]' ); $ this ->form_validation->set_rules( 'password' , 'Password' , 'required|matches[passconf]' ); $ this ->form_validation->set_rules( 'passconf' , 'Password Confirmation' , 'required' ); $ this ->form_validation->set_rules( 'fullname' , 'Fullname' , 'required|min_length[5]|max_length[25]' ); if ($ this ->form_validation->run() == FALSE){ $data[ 'query' ] = $ this ->Model_user->getAll(); $ this ->load->view( 'view_user/input' ,$data); } else { $ this ->Model_user->save(); redirect( 'user/index' ); } } } } function edit(){ $id=$ this ->uri->segment(3); $data[ 'result' ]=$ this ->Model_user->getUser($id); if (empty($id) or count($data[ 'result' ])==0 ){ redirect( 'user/index' ); } else { $result=$ this ->Model_user->getUser($id); $data[ 'id' ] = $result[ 'id' ]; $data[ 'username' ] = $result[ 'username' ]; $data[ 'fullname' ] = $result[ 'fullname' ]; $ this ->load->view( 'view_user' , $data); } } function delete ($id){ $ this ->db-> delete ( 'user' , array( 'id' => $id)); redirect( 'user/index' ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <?php class Model_user extends CI_Model{ function getAll(){ $ this ->db->select( 'id,username,fullname' ); $ this ->db->from( 'users' ); $ this ->db->limit(10); $ this ->db->order_by( 'id' , 'ASC' ); $query = $ this ->db->get(); return $query->result(); } function getUser($id){ $ this ->db->where( 'id' , $id); $query = $ this ->db->get( 'users' ); return $query->row_array(); } function save(){ $username = $ this ->input->post( 'username' ); $password = $ this ->input->post( 'password' ); $fullname = $ this ->input->post( 'fullname' ); $data = array( 'username' =>$username, 'password' =>md5($password), 'fullname' =>$fullname ); $ this ->db->insert( 'users' ,$data); } function update(){ $id = $ this ->input->post( 'id' ); $username = $ this ->input->post( 'username' ); $password = $ this ->input->post( 'password' ); $fullname = $ this ->input->post( 'fullname' ); if ($password== '' ){ $data = array( 'username' =>$username, 'fullname' =>$fullname ); } else { $data = array( 'username' =>$username, 'password' =>md5($password), 'fullname' =>$fullname ); } $ this ->db->where( 'id' ,$id); $ this ->db->update( 'users' ,$data); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "utf-8" > <title>Data User</title> </head> <body> < div id= "form_input" title= "Input / Edit Data" > <table> <?php echo validation_errors(); ?> <?php echo form_open( 'user/submit' ); ?> <tr > <td> <?php echo form_label( 'User Name : ' ); ?></td> <td> <?php echo form_input( 'username' ,set_value( 'username' ), 'id="username"' ); ?></td> </tr> <tr> <td> <?php echo form_label( 'Password : ' );?> </td> <td> <?php echo form_password( 'password' , '' , 'id="password"' ); ?></td> </tr> <tr> <td> <?php echo form_label( 'Repeat Password : ' );?> </td> <td> <?php echo form_password( 'passconf' , '' , 'id="passconf"' ); ?></td> </tr> <tr> <td> <?php echo form_label( 'Full Name : ' );?> </td> <td> <?php echo form_input( 'fullname' , set_value( 'fullname' ), 'id="fullname"' ); ?></td> </tr> <tr> <td><?php echo form_submit( 'submit' , 'Save' )?> </tr> </table> </ div > < div id= "show" > <?php $ this ->load->view( 'view_user/show' ); ?> </ div > </ div > </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?php if (isset($query) && count($query) > 0){ ?> <h1>Data User</h1> <table width= "400" border= "1" > <tr > <th>No</th> <th>Username</th> <th>Fullname</th> <th>Edit</th> <th>Delete</th> </tr> <?php $i=0; foreach ($query as $row){ $i++; echo "<tr class=\"record\">" ; echo "<td>$i</td>" ; echo "<td>$row->username</td>" ; echo "<td>$row->fullname</td>" ; echo "<td><a href=" .base_url(). "index.php/user/edit/$row->id>Edit</a></td>" ; echo "<td><a href=" .base_url(). "index.php/user/delete/$row->id>Delete</a></td>" ; echo "</tr>" ; } ?> </table> <?php } ?> |