2017-06-16 4 views
3

Ich kann Daten in einer Datenbank nicht aktualisieren. Ich weiß nicht, was happend.please mir helfen. Daten anzeigen Drücken Sie die Bearbeitungsschaltfläche. Aber ich kann keine Daten in der Datenbank bearbeiten.Ich kann Daten in einer Datenbank nicht aktualisieren Codeigniter

ich den Code unten Beiträge geschrieben haben:

Controller.php

public function ajax_update() 
{ 
    $data = array(
      'placename' => $this->input->post('placename'), 
      'description' => $this->input->post('description'), 
      'tel' => $this->input->post('tel'), 
      'latitude' => $this->input->post('latitude'), 
      'longtitude' => $this->input->post('longtitude'), 
      'placetype_id' => $this->input->post('placetype_id'), 
      'province_id' => $this->input->post('province_id'), 

     ); 
    $this->tblplace->update(array('placeid' => $this->input->post('placeid')), $data); 
    echo json_encode(array("status" => TRUE)); 
} 

Modal.php

public function save($data) 
{ 
    $this->db->insert('tblplace', $data); 
    return $this->db->insert_id(); 
} 

public function update($where, $data) 
{ 
    $this->db->update('tblplace', $data, $where); 
    return $this->db->affected_rows(); 
} 

Ich kann aus der Datenbank erhalten Daten in der Textbox zu zeigen. Aber kann Daten nicht aktualisieren. Ich muss helfen. Danke.

+0

Sind Sie in der Lage Daten aus der Post zu erhalten, auf 'ajax_update()' Methode? –

+0

Wo ist die WHERE-Bedingung in Ihrem Modell? – user3663

+0

Ich kann die Save-Taste drücken, aber keine Änderung der Daten aktualisieren. –

Antwort

0

Ihr Controller:

public function ajax_update() 
{ 
    //You should also check the post array. 
    $ajax_post_data = $this->input->post(); 
    log_message('debug', 'Ajax Post Data Array:' . print_r($ajax_post_data, TRUE)); 

    $placeid = $this->input->post('placeid'); 

    $data = array(
      'placename' => $this->input->post('placename'), 
      'description' => $this->input->post('description'), 
      'tel' => $this->input->post('tel'), 
      'latitude' => $this->input->post('latitude'), 
      'longtitude' => $this->input->post('longtitude'), 
      'placetype_id' => $this->input->post('placetype_id'), 
      'province_id' => $this->input->post('province_id'), 

     ); 
    $this->load->model('tblplace'); 
    $updte_status = $this->tblplace->update($placeid, $data); 
    if($updte_status == TRUE){ 
     echo json_encode(array("status" => true)); 
    } else { 
     echo json_encode(array("status" => false)); 
    } 
} 

In Modell:

public function update($where, $data) 
{ 

    $this->db->where('id', $where) 
      ->update('tblplace', $data); 

    log_message('debug', 'Last Update Query:' . print_r($this->db->last_query(), TRUE)); 
    log_message('debug', 'Affected row count:' . print_r(count($this->db->affected_rows()), TRUE)); 
    if ($this->db->affected_rows() === 1) { 
     return TRUE; 
    }else{ 
     return FALSE; 
    } 
} 

Hoffe, das ist klar, und es wird Ihnen helfen, die Daten zu aktualisieren.

0

Es gibt keinen where Zustand in Ihrer Update-Funktion

public function update($where, $data) 
    { 
     $this->db->where($where); 
     $this->db->update('tblplace', $data); 
     return $this->db->affected_rows(); 
    } 
Verwandte Themen