Próbuję zaktualizować rekordy tabeli stadniny za pomocą Codeigntera, ale nie aktualizuje aktualizacji rekordu, zobacz poniższy kod Stud_edit.php Plik:

<!DOCTYPE html> 
<html lang = "en">
<head> 
  <meta charset = "utf-8"> 
  <title>Students Example</title> 
</head> 
<body> 
<form method = "" action = "">
 <?php 
        echo form_open('Stud_controller/update_student'); 
        echo form_hidden('old_roll_no',$old_roll_no); 
        echo form_label('Roll No.'); 
        echo form_input(array('id'=>'roll_no',
           'name'=>'roll_no','value'=>$records[0]->roll_no)); 
        echo "
        "; 

        echo form_label('Name'); 
        echo form_input(array('id'=>'name','name'=>'name',
           'value'=>$records[0]->name)); 
        echo "
        "; 

        echo form_submit(array('id'=>'sub mit','value'=>'Edit')); 
        echo form_close();
     ?> 

  </form> 

Poniżej znajduje się kod kontrolera:

public function update_student(){ 
     $this->load->model('Stud_Model');

     $data = array( 
        'roll_no' => $this->input->post('roll_no'), 
        'name' => $this->input->post('name') 
     ); 

     $old_roll_no = $this->input->post('old_roll_no'); 
     $this->Stud_Model->update($data,$old_roll_no); 

     $query = $this->db->get("stud"); 
     $data['records'] = $query->result(); 
     $this->load->view('Stud_view',$data); 
  }

I następujący kodeks modelu:

public function update($data,$old_roll_no) { 
     $this->db->set($data); 
     $this->db->where("roll_no", $old_roll_no); 
     $this->db->update("stud", $data); 
  } 
0
Gurpreet Kaur 1 marzec 2019, 09:27

2 odpowiedzi

Najlepsza odpowiedź

Najpierw używasz znaczników 2 <form>. Spróbuj również używać i użyj method Atrybut

<form method = "" action = "">
echo form_open('Stud_controller/update_student')

Jeśli używasz metody set(), aby zaktualizować zapytanie, nie używaj $data w funkcji update()

Metoda 1

Metoda bez set()

public function update($data,$old_roll_no) { 
 $this->db->where("roll_no", $old_roll_no); 
 $this->db->update("stud", $data); 
} 

Metoda 2

Metodą set()

public function update($data,$old_roll_no) { 
 $this->db->set($data);
 $this->db->where("roll_no", $old_roll_no); 
 $this->db->update("stud"); 
} 
2
Danish Ali 1 marzec 2019, 06:39

Model:

public function update($data,$old_roll_no) { 
     $this->db->where("roll_no", $old_roll_no); 
     $this->db->update("stud", $data); 
  } 
1
M.Hemant 1 marzec 2019, 06:29