You are on page 1of 10

14/05/13

Simple CRUD CodeIgniter | Henri Blog

Henri Blog
Study and Share knowledge

Simple CRUD CodeIgniter


with 173 comments A couple months ago i have developed PHP application. Thats was the first time (and the only one) i used CodeIgniter. The development itself only took a short period, thanks to helpful plugins and libraries such as excel_reader, jpgraph, dompdf and many more. At this moment, i want to share my humble knowledge in creating simple PHP application. As the title suggest, we are going to create simple CRUD (Create Read Update Delete) application using CodeIgniter framework. The application that we are going to build is not a complex application (thats why we call it simple) but consists of features such as pagination and simple validation. Here, im using CodeIgniter_1.6.3 and MySql 5. Lets begin. 1. Database schema. run this script. 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 C R E A T ED A T A B A S Ec r u d ; U S Ec r u d ; C R E A T ET A B L Et b l _ p e r s o n ( i db i g i n ta u t o _ i n c r e m e n tP R I M A R YK E Y , n a m ev a r c h a r ( 5 0 ) , g e n d e rc h a r ( 1 ) , d o bd a t e ) ; I N S E R Tt b l _ p e r s o n( n a m e , g e n d e r , d o b )V A L U E S ( ' h e n r i h n r ' ,' m ' ,' 1 9 8 5 0 9 0 9 ' ) ; I N S E R Tt b l _ p e r s o n( n a m e , g e n d e r , d o b )V A L U E S ( ' n a m e _ 0 0 1 ' ,' m ' ,' 1 9 9 0 0 1 0 1 ' ) ; I N S E R Tt b l _ p e r s o n( n a m e , g e n d e r , d o b )V A L U E S ( ' n a m e _ 0 0 2 ' ,' f ' ,' 2 0 0 0 0 1 0 1 ' ) ; I N S E R Tt b l _ p e r s o n( n a m e , g e n d e r , d o b )V A L U E S ( ' n a m e _ 0 0 3 ' ,' m ' ,' 2 0 0 0 0 2 0 2 ' ) ; I N S E R Tt b l _ p e r s o n( n a m e , g e n d e r , d o b )V A L U E S ( ' n a m e _ 0 0 5 ' ,' f ' ,' 2 0 0 0 0 4 0 4 ' ) ;

2. Database configuration. file: CodeIgniter\system\application\config\database.php 1 2 3 4 5 6 7 8 $ a c t i v e _ g r o u p=" d e f a u l t " ; $ a c t i v e _ r e c o r d=T R U E ; $ d b [ ' d e f a u l t ' ] [ ' h o s t n a m e ' ]=" l o c a l h o s t " ; $ d b [ ' d e f a u l t ' ] [ ' u s e r n a m e ' ]=" r o o t " ; $ d b [ ' d e f a u l t ' ] [ ' p a s s w o r d ' ]=" " ; $ d b [ ' d e f a u l t ' ] [ ' d a t a b a s e ' ]=" c r u d " ; $ d b [ ' d e f a u l t ' ] [ ' d b d r i v e r ' ]=" m y s q l " ;

3. Base url configuration. file: CodeIgniter\system\application\config\config.php 1 $ c o n f i g [ ' b a s e _ u r l ' ]=" h t t p : / / 1 2 7 . 0 . 0 . 1 / C o d e I g n i t e r / " ;

4. Default controller configuration. file: CodeIgniter\system\application\config\routes.php 1 $ r o u t e [ ' d e f a u l t _ c o n t r o l l e r ' ]=" p e r s o n " ;

5. Model. create file CodeIgniter\system\application\models\personModel.php. Here we are using active record class. 1 2 3 4 5 6 c l a s sP e r s o n M o d e le x t e n d sM o d e l{ / /t a b l en a m e p r i v a t e$ t b l _ p e r s o n =' t b l _ p e r s o n ' ; f u n c t i o nP e r s o n ( ) { p a r e n t : : M o d e l ( ) ;
1/35

henrihnr.wordpress.com/2009/04/26/simple-crud-application/

14/05/13

Simple CRUD CodeIgniter | Henri Blog

7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7

} / /g e tn u m b e ro fp e r s o n si nd a t a b a s e f u n c t i o nc o u n t _ a l l ( ) { r e t u r n$ t h i s > d b > c o u n t _ a l l ( $ t h i s > t b l _ p e r s o n ) ; } / /g e tp e r s o n sw i t hp a g i n g f u n c t i o ng e t _ p a g e d _ l i s t ( $ l i m i t=1 0 ,$ o f f s e t=0 ) { $ t h i s > d b > o r d e r _ b y ( ' i d ' , ' a s c ' ) ; r e t u r n$ t h i s > d b > g e t ( $ t h i s > t b l _ p e r s o n ,$ l i m i t ,$ o f f s e t ) ; } / /g e tp e r s o nb yi d f u n c t i o ng e t _ b y _ i d ( $ i d ) { $ t h i s > d b > w h e r e ( ' i d ' ,$ i d ) ; r e t u r n$ t h i s > d b > g e t ( $ t h i s > t b l _ p e r s o n ) ; } / /a d dn e wp e r s o n f u n c t i o ns a v e ( $ p e r s o n ) { $ t h i s > d b > i n s e r t ( $ t h i s > t b l _ p e r s o n ,$ p e r s o n ) ; r e t u r n$ t h i s > d b > i n s e r t _ i d ( ) ; } / /u p d a t ep e r s o nb yi d f u n c t i o nu p d a t e ( $ i d ,$ p e r s o n ) { $ t h i s > d b > w h e r e ( ' i d ' ,$ i d ) ; $ t h i s > d b > u p d a t e ( $ t h i s > t b l _ p e r s o n ,$ p e r s o n ) ; } / /d e l e t ep e r s o nb yi d f u n c t i o nd e l e t e ( $ i d ) { $ t h i s > d b > w h e r e ( ' i d ' ,$ i d ) ; $ t h i s > d b > d e l e t e ( $ t h i s > t b l _ p e r s o n ) ; }

6. Controller. create file CodeIgniter\system\application\controllers\person.php 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 < ? p h p c l a s sP e r s o ne x t e n d sC o n t r o l l e r{ / /n u mo fr e c o r d sp e rp a g e p r i v a t e$ l i m i t=1 0 ; f u n c t i o nP e r s o n ( ) { p a r e n t : : C o n t r o l l e r ( ) ; / /l o a dl i b r a r y $ t h i s > l o a d > l i b r a r y ( a r r a y ( ' t a b l e ' , ' v a l i d a t i o n ' ) ) ; / /l o a dh e l p e r $ t h i s > l o a d > h e l p e r ( ' u r l ' ) ; / /l o a dm o d e l $ t h i s > l o a d > m o d e l ( ' p e r s o n M o d e l ' , ' ' , T R U E ) ;

f u n c t i o ni n d e x ( $ o f f s e t=0 ) { / /o f f s e t $ u r i _ s e g m e n t=3 ; $ o f f s e t=$ t h i s > u r i > s e g m e n t ( $ u r i _ s e g m e n t ) ; / /l o a dd a t a $ p e r s o n s=$ t h i s > p e r s o n M o d e l > g e t _ p a g e d _ l i s t ( $ t h i s > l i m i t ,$ o f f s e t ) > r e s u l t ( ) ; / /g e n e r a t ep a g i n a t i o n $ t h i s > l o a d > l i b r a r y ( ' p a g i n a t i o n ' ) ; $ c o n f i g [ ' b a s e _ u r l ' ]=s i t e _ u r l ( ' p e r s o n / i n d e x / ' ) ; $ c o n f i g [ ' t o t a l _ r o w s ' ]=$ t h i s > p e r s o n M o d e l > c o u n t _ a l l ( ) ; $ c o n f i g [ ' p e r _ p a g e ' ]=$ t h i s > l i m i t ; $ c o n f i g [ ' u r i _ s e g m e n t ' ]=$ u r i _ s e g m e n t ; $ t h i s > p a g i n a t i o n > i n i t i a l i z e ( $ c o n f i g ) ; $ d a t a [ ' p a g i n a t i o n ' ]=$ t h i s > p a g i n a t i o n > c r e a t e _ l i n k s ( ) ;

/ /g e n e r a t et a b l ed a t a $ t h i s > l o a d > l i b r a r y ( ' t a b l e ' ) ; $ t h i s > t a b l e > s e t _ e m p t y ( " & n b s p ; " ) ; $ t h i s > t a b l e > s e t _ h e a d i n g ( ' N o ' ,' N a m e ' ,' G e n d e r ' ,' D a t eo fB i r t h( d d m m y y y y ) ' ,' A c t i o n $ i=0+$ o f f s e t ; f o r e a c h( $ p e r s o n sa s$ p e r s o n ) {
2/35

henrihnr.wordpress.com/2009/04/26/simple-crud-application/

14/05/13

Simple CRUD CodeIgniter | Henri Blog

4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 7 0 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 8 0 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 1 0 0 1 0 1 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 1 0 7 1 0 8 1 0 9 1 1 0 1 1 1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8

} $ d a t a [ ' t a b l e ' ]=$ t h i s > t a b l e > g e n e r a t e ( ) ; / /l o a dv i e w $ t h i s > l o a d > v i e w ( ' p e r s o n L i s t ' ,$ d a t a ) ;

$ t h i s > t a b l e > a d d _ r o w ( + + $ i ,$ p e r s o n > n a m e ,s t r t o u p p e r ( $ p e r s o n > g e n d e r ) = = ' M ' ?' M a l e ' a n c h o r ( ' p e r s o n / v i e w / ' . $ p e r s o n > i d , ' v i e w ' , a r r a y ( ' c l a s s ' = > ' v i e w ' ) ) . '' . a n c h o r ( ' p e r s o n / u p d a t e / ' . $ p e r s o n > i d , ' u p d a t e ' , a r r a y ( ' c l a s s ' = > ' u p d a t e ' ) ) . '' a n c h o r ( ' p e r s o n / d e l e t e / ' . $ p e r s o n > i d , ' d e l e t e ' , a r r a y ( ' c l a s s ' = > ' d e l e t e ' , ' o n c l i c k ' ) ;

f u n c t i o na d d ( ) { / /s e tv a l i d a t i o np r o p e r t i e s $ t h i s > _ s e t _ f i e l d s ( ) ; / /s e tc o m m o np r o p e r t i e s $ d a t a [ ' t i t l e ' ]=' A d dn e wp e r s o n ' ; $ d a t a [ ' m e s s a g e ' ]=' ' ; $ d a t a [ ' a c t i o n ' ]=s i t e _ u r l ( ' p e r s o n / a d d P e r s o n ' ) ; $ d a t a [ ' l i n k _ b a c k ' ]=a n c h o r ( ' p e r s o n / i n d e x / ' , ' B a c kt ol i s to fp e r s o n s ' , a r r a y ( ' c l a s s ' / /l o a dv i e w $ t h i s > l o a d > v i e w ( ' p e r s o n E d i t ' ,$ d a t a ) ;

f u n c t i o na d d P e r s o n ( ) { / /s e tc o m m o np r o p e r t i e s $ d a t a [ ' t i t l e ' ]=' A d dn e wp e r s o n ' ; $ d a t a [ ' a c t i o n ' ]=s i t e _ u r l ( ' p e r s o n / a d d P e r s o n ' ) ; $ d a t a [ ' l i n k _ b a c k ' ]=a n c h o r ( ' p e r s o n / i n d e x / ' , ' B a c kt ol i s to fp e r s o n s ' , a r r a y ( ' c l a s s ' / /s e tv a l i d a t i o np r o p e r t i e s $ t h i s > _ s e t _ f i e l d s ( ) ; $ t h i s > _ s e t _ r u l e s ( ) ; / /r u nv a l i d a t i o n i f( $ t h i s > v a l i d a t i o n > r u n ( )= =F A L S E ) { $ d a t a [ ' m e s s a g e ' ]=' ' ; } e l s e { / /s a v ed a t a $ p e r s o n=a r r a y ( ' n a m e '= >$ t h i s > i n p u t > p o s t ( ' n a m e ' ) , ' g e n d e r '= >$ t h i s > i n p u t > p o s t ( ' g e n d e r ' ) , ' d o b '= >d a t e ( ' Y m d ' ,s t r t o t i m e ( $ t h i s > i n p u t > p o s t ( ' d o b ' ) ) ) ) ; $ i d=$ t h i s > p e r s o n M o d e l > s a v e ( $ p e r s o n ) ; / /s e tf o r mi n p u tn a m e = " i d " $ t h i s > v a l i d a t i o n > i d=$ i d ; / /s e tu s e rm e s s a g e $ d a t a [ ' m e s s a g e ' ]=' < d i vc l a s s = " s u c c e s s " > a d dn e wp e r s o ns u c c e s s < / d i v > ' ;

/ /l o a dv i e w $ t h i s > l o a d > v i e w ( ' p e r s o n E d i t ' ,$ d a t a ) ;

f u n c t i o nv i e w ( $ i d ) { / /s e tc o m m o np r o p e r t i e s $ d a t a [ ' t i t l e ' ]=' P e r s o nD e t a i l s ' ; $ d a t a [ ' l i n k _ b a c k ' ]=a n c h o r ( ' p e r s o n / i n d e x / ' , ' B a c kt ol i s to fp e r s o n s ' , a r r a y ( ' c l a s s ' / /g e tp e r s o nd e t a i l s $ d a t a [ ' p e r s o n ' ]=$ t h i s > p e r s o n M o d e l > g e t _ b y _ i d ( $ i d ) > r o w ( ) ; / /l o a dv i e w $ t h i s > l o a d > v i e w ( ' p e r s o n V i e w ' ,$ d a t a ) ;

f u n c t i o nu p d a t e ( $ i d ) { / /s e tv a l i d a t i o np r o p e r t i e s $ t h i s > _ s e t _ f i e l d s ( ) ; / /p r e f i l lf o r mv a l u e s $ p e r s o n=$ t h i s > p e r s o n M o d e l > g e t _ b y _ i d ( $ i d ) > r o w ( ) ; $ t h i s > v a l i d a t i o n > i d=$ i d ;


3/35

henrihnr.wordpress.com/2009/04/26/simple-crud-application/

14/05/13

Simple CRUD CodeIgniter | Henri Blog

1 1 9 1 2 0 1 2 1 1 2 2 1 2 3 1 2 4 1 2 5 1 2 6 1 2 7 1 2 8 1 2 9 1 3 0 1 3 1 1 3 2 1 3 3 1 3 4 1 3 5 1 3 6 1 3 7 1 3 8 1 3 9 1 4 0 1 4 1 1 4 2 1 4 3 1 4 4 1 4 5 1 4 6 1 4 7 1 4 8 1 4 9 1 5 0 1 5 1 1 5 2 1 5 3 1 5 4 1 5 5 1 5 6 1 5 7 1 5 8 1 5 9 1 6 0 1 6 1 1 6 2 1 6 3 1 6 4 1 6 5 1 6 6 1 6 7 1 6 8 1 6 9 1 7 0 1 7 1 1 7 2 1 7 3 1 7 4 1 7 5 1 7 6 1 7 7 1 7 8 1 7 9 1 8 0 1 8 1 1 8 2 1 8 3 1 8 4 1 8 5 1 8 6 1 8 7 1 8 8 1 8 9 1 9 0 1 9 1 1 9 2 1 9 3 1 9 4

$ t h i s > v a l i d a t i o n > n a m e=$ p e r s o n > n a m e ; $ _ P O S T [ ' g e n d e r ' ]=s t r t o u p p e r ( $ p e r s o n > g e n d e r ) ; $ t h i s > v a l i d a t i o n > d o b=d a t e ( ' d m Y ' , s t r t o t i m e ( $ p e r s o n > d o b ) ) ; / /s e tc o m m o np r o p e r t i e s $ d a t a [ ' t i t l e ' ]=' U p d a t ep e r s o n ' ; $ d a t a [ ' m e s s a g e ' ]=' ' ; $ d a t a [ ' a c t i o n ' ]=s i t e _ u r l ( ' p e r s o n / u p d a t e P e r s o n ' ) ; $ d a t a [ ' l i n k _ b a c k ' ]=a n c h o r ( ' p e r s o n / i n d e x / ' , ' B a c kt ol i s to fp e r s o n s ' , a r r a y ( ' c l a s s ' / /l o a dv i e w $ t h i s > l o a d > v i e w ( ' p e r s o n E d i t ' ,$ d a t a ) ;

f u n c t i o nu p d a t e P e r s o n ( ) { / /s e tc o m m o np r o p e r t i e s $ d a t a [ ' t i t l e ' ]=' U p d a t ep e r s o n ' ; $ d a t a [ ' a c t i o n ' ]=s i t e _ u r l ( ' p e r s o n / u p d a t e P e r s o n ' ) ; $ d a t a [ ' l i n k _ b a c k ' ]=a n c h o r ( ' p e r s o n / i n d e x / ' , ' B a c kt ol i s to fp e r s o n s ' , a r r a y ( ' c l a s s ' / /s e tv a l i d a t i o np r o p e r t i e s $ t h i s > _ s e t _ f i e l d s ( ) ; $ t h i s > _ s e t _ r u l e s ( ) ; / /r u nv a l i d a t i o n i f( $ t h i s > v a l i d a t i o n > r u n ( )= =F A L S E ) { $ d a t a [ ' m e s s a g e ' ]=' ' ; } e l s e { / /s a v ed a t a $ i d=$ t h i s > i n p u t > p o s t ( ' i d ' ) ; $ p e r s o n=a r r a y ( ' n a m e '= >$ t h i s > i n p u t > p o s t ( ' n a m e ' ) , ' g e n d e r '= >$ t h i s > i n p u t > p o s t ( ' g e n d e r ' ) , ' d o b '= >d a t e ( ' Y m d ' ,s t r t o t i m e ( $ t h i s > i n p u t > p o s t ( ' d o b ' ) ) ) ) ; $ t h i s > p e r s o n M o d e l > u p d a t e ( $ i d , $ p e r s o n ) ; / /s e tu s e rm e s s a g e $ d a t a [ ' m e s s a g e ' ]=' < d i vc l a s s = " s u c c e s s " > u p d a t ep e r s o ns u c c e s s < / d i v > ' ;

/ /l o a dv i e w $ t h i s > l o a d > v i e w ( ' p e r s o n E d i t ' ,$ d a t a ) ;

f u n c t i o nd e l e t e ( $ i d ) { / /d e l e t ep e r s o n $ t h i s > p e r s o n M o d e l > d e l e t e ( $ i d ) ; / /r e d i r e c tt op e r s o nl i s tp a g e r e d i r e c t ( ' p e r s o n / i n d e x / ' , ' r e f r e s h ' ) ;

/ /v a l i d a t i o nf i e l d s f u n c t i o n_ s e t _ f i e l d s ( ) { $ f i e l d s [ ' i d ' ]=' i d ' ; $ f i e l d s [ ' n a m e ' ]=' n a m e ' ; $ f i e l d s [ ' g e n d e r ' ]=' g e n d e r ' ; $ f i e l d s [ ' d o b ' ]=' d o b ' ; } $ t h i s > v a l i d a t i o n > s e t _ f i e l d s ( $ f i e l d s ) ;

/ /v a l i d a t i o nr u l e s f u n c t i o n_ s e t _ r u l e s ( ) { $ r u l e s [ ' n a m e ' ]=' t r i m | r e q u i r e d ' ; $ r u l e s [ ' g e n d e r ' ]=' t r i m | r e q u i r e d ' ; $ r u l e s [ ' d o b ' ]=' t r i m | r e q u i r e d | c a l l b a c k _ v a l i d _ d a t e ' ; $ t h i s > v a l i d a t i o n > s e t _ r u l e s ( $ r u l e s ) ; $ t h i s > v a l i d a t i o n > s e t _ m e s s a g e ( ' r e q u i r e d ' ,' *r e q u i r e d ' ) ; $ t h i s > v a l i d a t i o n > s e t _ m e s s a g e ( ' i s s e t ' ,' *r e q u i r e d ' ) ; $ t h i s > v a l i d a t i o n > s e t _ e r r o r _ d e l i m i t e r s ( ' < pc l a s s = " e r r o r " > ' ,' < / p > ' ) ;

/ /d a t e _ v a l i d a t i o nc a l l b a c k f u n c t i o nv a l i d _ d a t e ( $ s t r )
4/35

henrihnr.wordpress.com/2009/04/26/simple-crud-application/

14/05/13

Simple CRUD CodeIgniter | Henri Blog

1 9 5 1 9 6 1 9 7 1 9 8 1 9 9 2 0 0 2 0 1 2 0 2 2 0 3 2 0 4 2 0 5 2 0 6 2 0 7

} ? >

i f ( ! e r e g ( " ^ ( 0 [ 1 9 ] | 1 [ 0 9 ] | 2 [ 0 9 ] | 3 [ 0 1 ] ) ( 0 [ 1 9 ] | 1 [ 0 1 2 ] ) ( [ 0 9 ] { 4 } ) $ " ,$ s t r ) ) { $ t h i s > v a l i d a t i o n > s e t _ m e s s a g e ( ' v a l i d _ d a t e ' ,' d a t ef o r m a ti sn o tv a l i d .d d m m y y y y ' r e t u r nf a l s e ; } e l s e { r e t u r nt r u e ; }

7. View. create 3 files at CodeIgniter\system\application\views folder. personList.php to list persons with pagination 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0

< ! D O C T Y P Eh t m lP U B L I C" / / W 3 C / / D T DX H T M L1 . 0T r a n s i t i o n a l / / E N "" h t t p : / / w w w . w 3 . o r g / T R / x h t m l 1 / D T D / < h t m lx m l n s = " h t t p : / / w w w . w 3 . o r g / 1 9 9 9 / x h t m l " > < h e a d > < m e t ah t t p e q u i v = " C o n t e n t T y p e "c o n t e n t = " t e x t / h t m l ;c h a r s e t = i s o 8 8 5 9 1 "/ > < t i t l e > S I M P L EC R U DA P P L I C A T I O N < / t i t l e > < l i n kh r e f = " < ? p h pe c h ob a s e _ u r l ( ) ;? > s t y l e / s t y l e . c s s "r e l = " s t y l e s h e e t "t y p e = " t e x t / c s s "/ > < / h e a d > < b o d y > < d i vc l a s s = " c o n t e n t " > < h 1 > S i m p l eC R U DA p p l i c a t i o n < / h 1 > < d i vc l a s s = " p a g i n g " > < ? p h pe c h o$ p a g i n a t i o n ;? > < / d i v > < d i vc l a s s = " d a t a " > < ? p h pe c h o$ t a b l e ;? > < / d i v > < b r/ > < ? p h pe c h oa n c h o r ( ' p e r s o n / a d d / ' , ' a d dn e wd a t a ' , a r r a y ( ' c l a s s ' = > ' a d d ' ) ) ;? > < / d i v > < / b o d y > < / h t m l >

personEdit.php to add or update a person 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4

< ! D O C T Y P Eh t m lP U B L I C" / / W 3 C / / D T DX H T M L1 . 0T r a n s i t i o n a l / / E N "" h t t p : / / w w w . w 3 . o r g / T R / x h t m l 1 / D T D / < h t m lx m l n s = " h t t p : / / w w w . w 3 . o r g / 1 9 9 9 / x h t m l " > < h e a d > < m e t ah t t p e q u i v = " C o n t e n t T y p e "c o n t e n t = " t e x t / h t m l ;c h a r s e t = i s o 8 8 5 9 1 "/ > < t i t l e > S I M P L EC R U DA P P L I C A T I O N < / t i t l e > < l i n kh r e f = " < ? p h pe c h ob a s e _ u r l ( ) ;? > s t y l e / s t y l e . c s s "r e l = " s t y l e s h e e t "t y p e = " t e x t / c s s "/ > < l i n kh r e f = " < ? p h pe c h ob a s e _ u r l ( ) ;? > s t y l e / c a l e n d a r . c s s "r e l = " s t y l e s h e e t "t y p e = " t e x t / c s s "/ > < s c r i p tt y p e = " t e x t / j a v a s c r i p t "s r c = " < ? p h pe c h ob a s e _ u r l ( ) ;? > s c r i p t / c a l e n d a r . j s " > < / s c r i p t >

< / h e a d > < b o d y > < d i vc l a s s = " c o n t e n t " > < h 1 > < ? p h pe c h o$ t i t l e ;? > < / h 1 > < ? p h pe c h o$ m e s s a g e ;? > < f o r mm e t h o d = " p o s t "a c t i o n = " < ? p h pe c h o$ a c t i o n ;? > " > < d i vc l a s s = " d a t a " > < t a b l e > < t r > < t dw i d t h = " 3 0 % " > I D < / t d > < t d > < i n p u tt y p e = " t e x t "n a m e = " i d "d i s a b l e d = " d i s a b l e "c l a s s = " t e x t "v a l u e = " < ? p h pe c < i n p u tt y p e = " h i d d e n "n a m e = " i d "v a l u e = " < ? p h pe c h o$ t h i s > v a l i d a t i o n > i d ;? > " < / t r > < t r > < t dv a l i g n = " t o p " > N a m e < s p a ns t y l e = " c o l o r : r e d ; " > * < / s p a n > < / t d > < t d > < i n p u tt y p e = " t e x t "n a m e = " n a m e "c l a s s = " t e x t "v a l u e = " < ? p h pe c h o$ t h i s > v a l i d a t < ? p h pe c h o$ t h i s > v a l i d a t i o n > n a m e _ e r r o r ;? > < / t d > < / t r > < t r > < t dv a l i g n = " t o p " > G e n d e r < s p a ns t y l e = " c o l o r : r e d ; " > * < / s p a n > < / t d > < t d > < i n p u tt y p e = " r a d i o "n a m e = " g e n d e r "v a l u e = " M "< ? p h pe c h o$ t h i s > v a l i d a t i o n > s e < i n p u tt y p e = " r a d i o "n a m e = " g e n d e r "v a l u e = " F "< ? p h pe c h o$ t h i s > v a l i d a t i o n > s e
5/35

henrihnr.wordpress.com/2009/04/26/simple-crud-application/

14/05/13

Simple CRUD CodeIgniter | Henri Blog

3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5 3 5 4

< ? p h pe c h o$ t h i s > v a l i d a t i o n > g e n d e r _ e r r o r ;? > < / t d > < / t r > < t r > < t dv a l i g n = " t o p " > D a t eo fb i r t h( d d m m y y y y ) < s p a ns t y l e = " c o l o r : r e d ; " > * < / s p a n > < / t d < t d > < i n p u tt y p e = " t e x t "n a m e = " d o b "o n c l i c k = " d i s p l a y D a t e P i c k e r ( ' d o b ' ) ; "c l a s s < ah r e f = " j a v a s c r i p t : v o i d ( 0 ) ; "o n c l i c k = " d i s p l a y D a t e P i c k e r ( ' d o b ' ) ; " > < i m gs r c = < ? p h pe c h o$ t h i s > v a l i d a t i o n > d o b _ e r r o r ;? > < / t d > < / t r > < t r > < t d > & n b s p ; < / t d > < t d > < i n p u tt y p e = " s u b m i t "v a l u e = " S a v e " / > < / t d > < / t r > < / t a b l e > < / d i v > < / f o r m > < b r/ > < ? p h pe c h o$ l i n k _ b a c k ;? > < / d i v > < / b o d y > < / h t m l >

personView.php to view a person details 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8

< ! D O C T Y P Eh t m lP U B L I C" / / W 3 C / / D T DX H T M L1 . 0T r a n s i t i o n a l / / E N "" h t t p : / / w w w . w 3 . o r g / T R / x h t m l 1 / D T D / < h t m lx m l n s = " h t t p : / / w w w . w 3 . o r g / 1 9 9 9 / x h t m l " > < h e a d > < m e t ah t t p e q u i v = " C o n t e n t T y p e "c o n t e n t = " t e x t / h t m l ;c h a r s e t = i s o 8 8 5 9 1 "/ > < t i t l e > S I M P L EC R U DA P P L I C A T I O N < / t i t l e > < l i n kh r e f = " < ? p h pe c h ob a s e _ u r l ( ) ;? > s t y l e / s t y l e . c s s "r e l = " s t y l e s h e e t "t y p e = " t e x t / c s s "/ > < / h e a d > < b o d y > < d i vc l a s s = " c o n t e n t " > < h 1 > < ? p h pe c h o$ t i t l e ;? > < / h 1 > < d i vc l a s s = " d a t a " > < t a b l e > < t r > < t dw i d t h = " 3 0 % " > I D < / t d > < t d > < ? p h pe c h o$ p e r s o n > i d ;? > < / t d > < / t r > < t r > < t dv a l i g n = " t o p " > N a m e < / t d > < t d > < ? p h pe c h o$ p e r s o n > n a m e ;? > < / t d > < / t r > < t r > < t dv a l i g n = " t o p " > G e n d e r < / t d > < t d > < ? p h pe c h os t r t o u p p e r ( $ p e r s o n > g e n d e r ) = = ' M ' ?' M a l e ' : ' F e m a l e ';? > < / t d > < / t r > < t r > < t dv a l i g n = " t o p " > D a t eo fb i r t h( d d m m y y y y ) < / t d > < t d > < ? p h pe c h od a t e ( ' d m Y ' , s t r t o t i m e ( $ p e r s o n > d o b ) ) ;? > < / t d > < / t r > < / t a b l e > < / d i v > < b r/ > < ? p h pe c h o$ l i n k _ b a c k ;? > < / d i v > < / b o d y > < / h t m l >

8. Style. put stylesheet at CodeIgniter\style\style.css and styles images at CodeIgniter\style\images folder 1 2 3 4 5 6 7 8 9 1 0 b o d y{ f o n t f a m i l y : t a h o m a ; p a d d i n g : 0 p x ; m a r g i n : 0 p x ; b a c k g r o u n d : # f 5 f 5 f 5 } d i v . c o n t e n t{ p a d d i n g : 1 0 p x2 0 p x ; }


6/35

henrihnr.wordpress.com/2009/04/26/simple-crud-application/

14/05/13

Simple CRUD CodeIgniter | Henri Blog

1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 7 0 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 8 0 8 1 8 2 8 3 8 4 8 5 8 6

d i v . c o n t e n th 1{ f o n t s i z e : 1 8 p t ; b o r d e r b o t t o m : 5 p xs o l i d# a 0 0 ; p a d d i n g : 0 p x ; m a r g i n : 1 0 p x0 p x2 0 p x ; w i d t h : 8 0 % ; } d i v . c o n t e n td i v . d a t at a b l e{ b o r d e r : 2 p xs o l i d# 0 0 0 ; b a c k g r o u n d : # f f f ; w i d t h : 8 0 % ; } d i v . c o n t e n td i v . d a t at a b l et d{ f o n t s i z e : 1 0 p t ; p a d d i n g : 5 p x1 0 p x ; b o r d e r b o t t o m : 1 p xs o l i d# d d d ; t e x t a l i g n :l e f t ; } d i v . c o n t e n td i v . d a t at a b l et h{ t e x t a l i g n :l e f t ; f o n t s i z e :8 p t ; p a d d i n g :1 0 p x1 0 p x7 p x ; t e x t t r a n s f o r m :u p p e r c a s e ; c o l o r :# f f f ; b a c k g r o u n d : u r l ( i m a g e s / h e a d . g i f )l e f t5 p xr e p e a t x ; } d i v . p a g i n g{ f o n t s i z e :9 p t ; m a r g i n : 5 p x0 p x ; } d i v . p a g i n ga{ c o l o r : # 9 0 0 ; t e x t t r a n s f o r m :u p p e r c a s e ; t e x t d e c o r a t i o n :n o n e ; } d i v . p a g i n ga : h o v e r{ c o l o r : # c 0 0 ; } d i v . p a g i n gb{ c o l o r : # 9 0 0 ; } d i v . s u c c e s s{ f o n t s i z e : 1 4 p t ; b a c k g r o u n d : u r l ( i m a g e s / a c c e p t . p n g )l e f t5 p xn o r e p e a t ; p a d d i n g : 0 p x ; p a d d i n g l e f t : 2 0 p x ; m a r g i n : 0 p x0 p x1 0 p x ; c o l o r : # 0 6 0 ; w i d t h : 8 0 % ; } a . u p d a t e ,a . d e l e t e ,a . a d d ,a . v i e w ,a . b a c k{ f o n t s i z e :9 p t ; c o l o r : # 9 0 0 ; f o n t w i g h t : b o l d ; p a d d i n g l e f t : 2 0 p x ; t e x t d e c o r a t i o n :n o n e ; } a . u p d a t e{ b a c k g r o u n d : u r l ( i m a g e s / u p d a t e . p n g )l e f tc e n t e rn o r e p e a t ; } a . d e l e t e{ b a c k g r o u n d : u r l ( i m a g e s / d e l e t e . p n g )l e f tc e n t e rn o r e p e a t ; } a . a d d{ b a c k g r o u n d : u r l ( i m a g e s / a d d . p n g )l e f tc e n t e rn o r e p e a t ; } a . v i e w{ b a c k g r o u n d : u r l ( i m a g e s / v i e w . p n g )l e f tc e n t e rn o r e p e a t ; } a . b a c k{ b a c k g r o u n d : u r l ( i m a g e s / p r e v . g i f )l e f tc e n t e rn o r e p e a t ; }
7/35

henrihnr.wordpress.com/2009/04/26/simple-crud-application/

14/05/13

Simple CRUD CodeIgniter | Henri Blog

8 7 8 8 8 9 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 1 0 0 1 0 1 1 0 2 1 0 3

a . u p d a t e : h o v e r ,a . d e l e t e : h o v e r ,a . a d d : h o v e r ,a . v i e w : h o v e r{ c o l o r : # 0 0 0 ; } i n p u t . t e x t{ b o r d e r : 2 p xs o l i d# a a a ; } . e r r o r{ b a c k g r o u n d :# F B E 6 F 2n o n er e p e a ts c r o l l00 ; b o r d e r :1 p xs o l i d# D 8 9 3 A 1 ; c o l o r :# 3 3 3 3 3 3 ; m a r g i n :5 p x00 ; p a d d i n g :5 p x ; f o n t s i z e :1 0 p x ; f o n t f a m i l y :L u c i d aG r a n d e , V e r d a n a , G e n e v a , S a n s s e r i f ; }

9. Script. put script at CodeIgniter\script folder 10. Done. Lets preview what should we have by now.

List of persons with pagination

Add new person

Update person

View person details

Error on validation Download Simple CRUD Application. Happy Programming!!


About these ads

Written by Henri H. April 26, 2009 at 12:21 am Posted in PHP


henrihnr.wordpress.com/2009/04/26/simple-crud-application/ 8/35

14/05/13

Simple CRUD CodeIgniter | Henri Blog

Tagged with PHP

173 Responses
Subscribe to comments with RSS. Hen pala gua nyut2an ngeliatnya xD lunniey April 26, 2009 at 9:35 pm This is hot. This is exactly what I was looking for. Thanks! Aalaap Ghag May 8, 2009 at 8:47 pm hohogreat and good job my bro i will try it!! Santen May 24, 2009 at 11:10 am Thanks Bro, You save my life Good Job awan pribadi May 25, 2009 at 1:12 pm great tutorial great job, if the admin panel is also integrates then its a miracleous job thanks netvision May 30, 2009 at 4:54 pm Nice tutorial, when i started with codeigniter this is the tutorial that really helped me in expediting the project great job dharendera May 30, 2009 at 5:06 pm Thank You, God Bless You. Excellent Job. Alex Inoa July 16, 2009 at 4:59 am Thank you! [This should really be in the CI documentation.] q July 27, 2009 at 8:13 am Awesome brother, super cool Anuradha August 13, 2009 at 12:31 am I just posted on my blog a simple CRUD example with pagination and validation using CodeIgniter 1.7.1. My example uses this one as base, which I consider a very good example for those who are starting. Robertson Freitas
henrihnr.wordpress.com/2009/04/26/simple-crud-application/ 9/35

14/05/13

Simple CRUD CodeIgniter | Henri Blog

August 24, 2009 at 12:39 pm thax a lot man.I got exactly whr i want. kabir August 27, 2009 at 1:50 pm Great Job! Just the article i needed to read to understand CI a little bit more. I just have a probleme with the redirect in the delete-function. Just see an empty page (maybe header already sent?). Wouldnt $this->index() do the same? Many thanks Dirk Dirk August 29, 2009 at 12:27 am Mantap nich! Udah mendukung CRUD. Saya suka. Trims Nonpyrogenic September 11, 2009 at 10:03 pm [...] (que est mais para um Active Record Layer), incrivelmente reusvel, foi inspirado no copiado do exemplo de CRUD que mencionei acima. Controller gordo + Model magro considerado um anti-pattern, mas eu gosto [...] Robertson Freitas CRUD Bsico com CodeIgniter verso 0.2 September 21, 2009 at 8:36 am Thanks a lot. I was searching internet for a crud in ci. And this one serve my purpose very well. Thanks again. Azraf September 22, 2009 at 11:05 am wah..keren gw lagi perlu banget nih,, thank you very much.. Tio October 2, 2009 at 10:41 am What a beautiful piece of work this is: useful, beautifully presented, and a fabulous base for anyone to build on, especially since you went beyond the usual text examples and included things like radio buttons and dates. Really really nice thank you, Henri. Helen October 3, 2009 at 9:04 pm outstanding!!!!!! acatejr October 25, 2009 at 5:17 am This is awesome! Easily the best getting started tutorial on CodeIgniter. Thanks! Bill October 28, 2009 at 10:48 am Very nice job, very clean code, view is even better than on official examples. All the best! Frank
henrihnr.wordpress.com/2009/04/26/simple-crud-application/ 10/35

You might also like