2016-09-23 69 views
2

這個Web應用程序是成員的數據表,如果我點擊編輯,它會鏈接到編輯已經選擇成員的數據頁所以應該選擇第一個爲什麼SELECT查詢不能來,然後再編輯查詢

但是 爲什麼SELECT查詢不能先寫入,然後寫入EDIT查詢。 我嘗試將SELECT部分​​的代碼移動到上面,但是何時運行該程序,它不能編輯(不工作) PS。如果我像下面這樣寫,它可以正常工作。但我想知道原因。

public function editMember($id) 
{ 
    //UPDATE 
    if($this->input->post("btn") != null) 
    { 
     $arr = array( 
       "name" => $this->input->post('member_name'), 
       "email" => $this->input->post('email'), 
       "tel" => $this->input->post('phone') 
      ); 
      $this->db->where("id", $id); 
      $this->db->update('member', $arr); 
      redirect("member", "refresh"); 
      exit(); 
    } 

    $sql = "SELECT * FROM member WHERE id = $id"; //SELECT 
    $rs = $this->db->query($sql); 

    if($rs->num_rows() == 0) //check the exist of data 
    { 
     $result['fetch'] = array(); 
    } 
    else 
    { 
     $data['fetch'] = $rs->row_array(); // just fetch one row 
     return $data['fetch']; 
    } 
} 

回答

0
Try this code 

public function editMember($id) 
{ 
    $sql = "SELECT * FROM member WHERE id = $id"; //SELECT 
    $rs = $this->db->query($sql); 

    //UPDATE 
    if($this->input->post("btn") != null) 
    { 
     $arr = array( 
       "name" => $this->input->post('member_name'), 
       "email" => $this->input->post('email'), 
       "tel" => $this->input->post('phone') 
      ); 
      $this->db->where("id", $id); 
      $this->db->update('member', $arr); 
      redirect("member", "refresh"); 
      exit(); 
    } 

    if($rs->num_rows() > 0) //check the exist of data 
    { 
     $data['fetch'] = $rs->row_array(); // just fetch one row 
    } 


    $this->load->view('your_editpage.php',$data); 
} 
+0

謝謝你了:)! –