简体   繁体   中英

update record database in CodeIgniter

I already add,view,delete record but I can't update record in database. however when i try update name,alamat,etc is unchanged in database. I have listed my controller , model and view below:

model code

    function update($id,$siswa)
        {
            $this->db->where($this->primary_key,$id);
            $this->db->update($this->table_name,$siswa);
        }

controller code

    function update($id=1)
            {
                $this->_set_fields();
                $siswa = $this->siswa_model->get_by_id($id)->row();
                $this->form_validation->id = $id;
                $this->form_validation->nama = $siswa->nama;
                if (isset($_POST['jenis_kelamin'])) {
                    $_POST['jenis_kelamin'] = strtoupper($data['siswa']['jenis_kelamin']);
                }
                if (isset($_POST['tanggal_lahir'])) {
                    $data['siswa']['tanggal_lahir'] = date('d-m-Y',strtotime($data['siswa']['tanggal_lahir']));
                }

                $data['title'] = 'Update siswa';
                $data['message'] = '';
                $data['action'] = site_url('siswa/updateSiswa');
                $data['link_back']= anchor('siswa/index/','Back to list of siswas',array('class'=>'back'));

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

            function updateSiswa()
            {
                //set common properties
                $data['title'] = 'Update siswa';
                $data['action'] = site_url('siswa/updateSiswa');
                $data['link_back']= anchor('siswa/index/','Back to list of siswas',array('class'=>'back'));

                //$this->load->library('form_validation');
                //set validation properties

                    $this->_set_fields();
                    $this->_set_rules();

                    //$data['action']=('siswa/update/'.$id);

                    //run validation
                    if ($this->form_validation->run() === FALSE) {
                        $data['message']='';

                        $data['siswa'] = $this->siswa_model->get_by_id($id)->row_array();
                        if (isset($_POST['jenis_kelamin'])) {
                            $_POST['jenis_kelamin'] = strtoupper($data['siswa']['jenis_kelamin']);
                        }
                        if (isset($_POST['tanggal_lahir'])) {
                            $data['siswa']['tanggal_lahir'] = date('d-m-Y',strtotime($data['siswa']['tanggal_lahir']));
                        }

                        //set common properties
                        $data['title']='Update siswa';
                        $data['message']='';

                    }
                    else
                    {
                        //save data
                        $id = $this->input->post('id');
                        $siswa=array( 'id'=>$id,
                            'nama'=>$this->input->post('nama'),
                            'alamat'=>$this->input->post('alamat'),
                            'jenis_kelamin'=>$this->input->post('jenis_kelamin'),
                            'tanggal_lahir'=>date('Y-m-d', strtotime($this->input->post('tanggal_lahir'))));
                        $this->siswa_model->update($id,$siswa);
                        $data['siswa'] = $this->siswa_model->get_by_id($id)->row_array();

                        //set user message;
                        $data['message']='update siswa success';
                    }
                    $data['link_back']= anchor('siswa/index/','Lihat Daftar Siswa',array('class'=>'back'));

                    //load view
                    $this->load->view('siswaEdit',$data);
            }       

view code

    <!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>SIMPLE CRUD APPLICATION</title>
    <link href="<?php echo base_url();?>style/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
    <div class="content">
        <h1><?php echo $title;?></h1>
        <div class="data">
            <table>
                <tr>
                    <td width="30%">ID</td>
                    <td><?php 
                            if (isset($siswa->id)) {
                            echo $siswa->id;}
                        ;?>
                    </td>

                </tr>
                <tr>
                    <td valign="top">Name</td>
                    <<td><?php 
                            if (isset($siswa->nama)) {
                            echo $siswa->nama;}
                        ;?>
                    </td>
                </tr>
                <tr>
                    <td valign="top">Alamat</td>
                    <td><?php 
                            if (isset($siswa->alamat)) {
                            echo $siswa->alamat;}
                        ;?>
                    </td>
                </tr>
                <tr>
                    <td valign="top">Jenis Kelamin</td>
                    <td><?php if (isset($siswa->jenis_kelamin)){
                         echo ($siswa->jenis_kelamin) =='M'?'Laki-Laki':'Perempuan';}
                         ;?>
                    </td>
                </tr>
                <tr>
                    <td valign="top">Tanggal Lahir (dd-mm-yyyy)</td>
                    <td><?php if (isset($siswa->jenis_kelamin)){
                            echo date('d-m-Y',strtotime($siswa->tanggal_lahir));}
                        ;?>
                     </td>
                </tr>
            </table>
        </div>
        <br/>
        <?php echo $link_back;?>
    </div>
</body>
</html>

can you help me find problem solving from my program?

I think the view page that you have shown above, it just list the record. you can list it in form to submit the data.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM