2013-11-25 8 views
0

Я уже добавляю, просматриваю, удаляю запись, но я не могу обновить запись в базе данных. однако, когда я пытаюсь обновить имя, alamat и т. д. в базе данных не изменяется. Я перечислил мой контроллер, модель и вид ниже:Обновление базы данных записей в CodeIgniter

код модели

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

код контроллера

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); 
      }  

посмотреть код

<!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> 

вы можете помочь мне найти решение проблем с моя программа?

ответ

0

Я думаю, что страница просмотра, которую вы показали выше, просто перечисляет запись. вы можете перечислить его в форме для отправки данных.

+0

Я пытаюсь спросить, и кто-нибудь знает, что с моей проблемой кода. потому что я пытаюсь обновить данные, не работает. – kputri

Смежные вопросы