2016-07-16 5 views
0

私は現在、php jqueryとブートストラップを使用するプログラムで作業しています。アップデート機能です。データベースは変更されませんが、誰かが私の間違いがどこにあるのか教えてくれますか?

私のコントローラ

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

class Subbidang extends CI_Controller { 

public function index() 
{ 
    $this->load->model('model_subbidang'); 
    $this->model_security->getsecurity(); 
    $isi['content'] = 'Subbidang/tampilan_datasubbidang'; 
    $isi['judul'] = 'Master'; 
    $isi['sub_judul'] = 'Sub Bidang'; 
    $isi['data'] = $this->db->get('tsubbidang'); 
    $this->load->view('tampilan_home',$isi); 

} 

public function tambah() 
{ 
    $this->load->model('model_subbidang'); 
    $this->model_security->getsecurity(); 
    $isi['content'] = 'Subbidang/form_tambahsubbidang'; 
    $isi['judul'] = 'Master'; 
    $isi['sub_judul'] = 'Sub Bidang'; 
    $this->load->view('tampilan_home',$isi); 
} 

public function simpan() 
{ 
    $this->model_security->getsecurity(); 
    $this->load->model('model_subbidang'); 

    $key['IDSubBidang'] = $this->input->post('kode'); 
    $data['IDSubBidang'] = $this->input->post('kode'); 
    $data['IDBidang']  = $this->input->post('bidang'); 
    $data['NamaSubBidang'] = $this->input->post('subbidang'); 

    $query = $this->db->get_where('tsubbidang',$key); 

    if ($query->num_rows()>0) 
    { 
     $this->db->update('tsubbidang',$key,$data); 
     //echo "Data Berhasil Diubah"; 
     echo "Update"; 
    } 
    else 
    { 
     $this->db->insert('tsubbidang',$data); 
     //xecho "Data Berhasil Disimpan"; 
     echo 'Insert'; 
    } 
} 

} 

/* End of file welcome.php */ 
/* Location: ./application/controllers/welcome.php */ 

マイビュー

<script type="text/javascript"> 
$(document).ready(function(){ 


$("#simpan").click(function(){ 
var string = $("#my-form").serialize(); 
//alert(string); 
$.ajax({ 
      type : 'POST', 
      url  : '<?php echo site_url();?>/subbidang/simpan', 
      data : string, 
      success : function(data){ 
       alert(data); 
      } 
     }); 
    }); 
}); 
</script> 
<form class="form-horizontal" name="my-form" id="my-form"> 
<div class="control-group"> 
    <label class="control-label"bidang</label> 
    <div class="controls"> 
     <select name="bidang" id="bidang"> 
      <option value="">-Pilih-</option> 
      <?php 

      $bidang = $this->db->get('tbidang'); 
      foreach ($bidang->result() as $row) { 

      ?> 
      <option value="<?php echo $row->IDBidang;?>"><?php echo $row->Bidang;?> </option> 
      <?php };?> 
     </select> 
    </div> 
</div> 

<div class="control-group"> 
    <label class="control-label">Kode Sub Bidang</label> 
    <div class="controls"> 
     <input type="text" name="kode" id="kode" palceholder="kode" class="span3"> 
    </div> 
</div> 

<div class="control-group"> 
    <label class="control-label">Sub Bidang</label> 
    <div class="controls"> 
     <input type="text" name="subbidang" id="subbidang" palceholder="Sub Bidang" class="span3"> 
    </div> 
</div> 

<div class="controls"> 

    <button type="button" name="simpan" id="simpan" class="btn btn-primary btn-small"> Simpan</button> 
</div> 

マイモデル

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

class Model_subbidang extends CI_model { 

    public function gettampildatasubbidang($key) 
    { 
     $this->db->where('IDBidang',$key); 
     $query = $this->db->get('tbidang'); 
     if($query->num_rows()>0) 
     { 
      foreach ($query -> result() as $row) { 
       $hasil = $row->Bidang; 
      } 
     } 
     else 
     { 
      $hasi=''; 
     } 

     return $hasil; 
    } 

    public function getlistsubbidang() 
    { 
     return $this->db->get('tbidang'); 
    } 

    public function getdata($key) 
    { 
     $this->db->where('IDBidang',$key); 
     $hasil = $this->db->get('tBidang'); 
     return $hasil; 
    } 

    public function getupdate($key,$data) 
    { 
     $this->db->where('IDBidang',$key); 
     $this->db->update('tBidang',$data); 
    } 

    public function getinsert($key,$data) 
    { 
     $this->db->insert('tBidang',$data); 
    }A 


} 

/* End of file welcome.php */ 
/* Location: ./application/controllers/welcome.php */ 

エコー作業罰金が、データベースのdoesntの変更をお願い致します。挿入機能もあなたが

$this->db->where('IDBidang', $key); 
$this->db->update('tsubbidang',$data); 

とすべてがうまくなりに機能 変更

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

を更新するために、適切なデータを渡す必要が細かい

答えて

0

を働きます。 もう1つのことは、モデル内のデータベースに関連する機能をコントローラで直接実行するのではなく、MVCの構造に従わないことです。それはそれを破壊する。あなたがすべてをseperetlyでやったならば、同じことをした後にコードを書くすべての人に理解してもらうのは簡単です。

+0

コードを変更しましたが、ボタンが機能しません –

+0

代わりに '$("#my-form ")を使用する必要があります。ボタンのタイプを 'サブミット 'として設定します。スクリプトを実行した後にfalseを返してもページは更新されません –

+0

挿入と更新機能は機能しませんが、アドレスバーは 'index.php/subbidang/tambah?bidang = BD002&kode = SDM&subbidang = SDM&simpan = .' –

関連する問題