Categories

Manufacturers

  • Join Our Community
  • Follow us
  • Join Our Community

 

Setelah kita membahas tentang codeigniter sebaiknya kita ambil sebuah project untuk memberikan contoh bagaimana penggunaan codeigniter pada kehidupan nyata. Ini adalah sebuah buku tamu sederhana menggunakan library validasi dan helper smile. anda harus mendowload terlebih dahulu smile-smile yang ada di codeigniter (karena tidak di includekan secara default)

Controller – guestbook.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

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

 

class Guestbook extends Controller {

 

        function Guestbook()

        {

               parent::Controller();         

                $this->load->library('pagination');

                $this->load->library('validation');

                $this->load->model('tguestbookmodel' , 'guestbook');

 

       }

 

        function show()

        {

 

               if ( $this->_validate_data())

               {

                 $data['nama']       = $this->input->post('nama', TRUE);

                 $data['email']     = $this->input->post('email', TRUE);

                 $data['komentar']  = $this->input->post('komentar', TRUE);

                 $data['status']    = 0;

 

 

                    if ($this->guestbook->add($data))

                          $data['success']= 'Stockist sukses ditambahkan';

 

               }

 

               $paging_uri=2;

                if ($this->uri->segment($paging_uri))

                       $start=$this->uri->segment($paging_uri);

                else

                        $start=0 ;

 

               $limit_per_page = 10;

               $filter=array('status'=>'1');

 

               $data['tguestbook_list'] = $this->guestbook->findByFilter($filter,$limit_per_page,$start);

 

               $config['base_url']     = site_url('guestbook');

               $config['total_rows']   = $this->guestbook->table_record_count;

               $config['per_page']     = $limit_per_page;

               $config['uri_segment']  = $paging_uri;

        //      $config['next_link']   = 'berikutnya &raquo;';

        //      $config['prev_link']   = '&laquo; sebelumnya ';

 

               $this->pagination->initialize($config);

 

               $data['page_links'] = $this->pagination->create_links();

 

               $this->load->helper('smiley');

               $this->load->library('table');

 

               $image_array = get_clickable_smileys(base_url().'smileys/');

 

               $col_array = $this->table->make_columns($image_array,20);           

 

               $data['smiley_table'] = $this->table->generate($col_array);

 

               $this->load->view('guestbook', $data);

        }

 

        function _remap($page)

        {

               $this->show();

        }

 

        function _validate_data()

        {

                $rules['nama'] = "required|htmlspecialchars";

               $rules['email'] = "required|valid_email|htmlspecialchars";

               $rules['komentar'] = "required|htmlspecialchars";

 

 

               $this->validation->set_rules($rules);

 

               $fields['nama'] = 'nama';

               $fields['komentar'] = 'komentar';            

               $fields['email'] = 'email';

 

               $this->validation->set_fields($fields);

 

                 return ($this->validation->run() == FALSE) ? FALSE : TRUE;

        }

}

Model – tguestbook_model.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

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

<?

class Tguestbookmodel extends Model {

 

        public $table_record_count;

        function Tguestbookmodel()

        {

               parent::Model();

        }

 

        function findAll($fields=NULL,$start = NULL, $count = NULL)

        {

             return $this->find($fields,NULL, NULL,$start, $count);

        }

 

       function findByFilter($filter_rules, $start = NULL, $count = NULL)

       {

            return $this->find(NULL,$filter_rules, NULL,$start, $count);

       }

 

       function find($fields=NULL, $filters = NULL, $order=NULL, $start = NULL, $count = NULL)

       {

                $results = array();

               //finding number of search

               $this->_set_where($filters);

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

                $this->table_record_count = $this->db->count_all_results();

 

               //the real result

               $this->_set_where($filters);

               $order=array("tanggal"=>"desc");

               $this->_set_order($order);

 

 

              if ($start)

              {

                    if ($count)

                          $this->db->limit($start, $count);

                    else

                         $this->db->limit($start);

              }

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

             if ($query->num_rows() > 0)

             {

               return $query->result_array();

             }

             else

              {

                       return FALSE;

              }

   }

 

   function add( $data )

   {

           $this->db->insert('guestbook', $data);

           return $this->db->insert_id();

   }

 

   function update($keyvalue, $data)

   {

      $this->db->where('id', $keyvalue);

      $this->db->update('guestbook', $data);

   }

 

   function delete($idField)

   {

      $this->db->where('id', $idField);

      $this->db->delete('guestbook');

      return true;

   }

 

        function _set_where($filters=NULL)

        {

                if ($filters)

                 {

                        if ( is_string($filters) )

                        {

                               $where_clause = $filters;

                               $this->db->where($where_clause);

                        }

                        elseif ( is_array($filters) )

                        {

                               if ( count($filters) > 0 )

                               {

                                  foreach ($filters as $field => $value)

                                        $this->db->where($field, $value);              

                               }

                        }

 

                 }

        }

        function _set_order($order=NULL)

        {

                if ($order)

                 {

                        if ( is_string($order) )

                        {

                               $where_clause = $order;

                               $this->db->order_by($where_clause);

                        }

                        elseif ( is_array($order) )

                        {

                               if ( count($order) > 0 )

                               {

                                  foreach ($order as $field => $value)

                                        $this->db->order_by($field, $value);              

                               }

                        }

 

                 }

        }

 

}

 

?>

View – tguestbook_model.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

2

<h2>Guest Book </h2>

<hr>

<?php $v =& $this->validation ?>

        <? if ($v->error_string) { ?>

               <div >

                       <?php echo $v->error_string?>

               </div>

<? } ?>

<?php if($success): ?>

 

<div>

        <span >Data Sukses Disimpan</span>

</div>

<?php unset($v); endif; ?>

 

<?

if($tguestbook_list)

{

        foreach($tguestbook_list as $value)

        {

               echo "<li><strong><u>".$value['nama']."</u></strong> ( ".$value['tanggal']." ): ".nl2br(parse_smileys($value['komentar'],"http://localhost/vni/smileys/"))." <hr></li>";

        }

}

?>

 

 

<?php echo $page_links;?>

<?echo js_insert_smiley('bukutamu', 'komentar'); ?>

<br>

<h4>Isi Buku Tamu</h4>

<form method="post">

<label for="nama" >Nama : </label>

<input value="<?php echo $v->nama?>"/>

<label for="email" >Email : </label>

<input value="<?php echo $v->email?>"/>

 

 

<textarea cols="40" rows="4">

<?php echo $v->komentar?>

</textarea>

<div>

<?php echo $smiley_table; ?>

</div>

<input />

</form>

 




HomeHome

Cart  

(empty)

Special Price

All special price