2017-07-31 26 views
1

代碼:如何首次插入表單數據並第二次更新相同的數據?

<?php 
    if($this->input->post('submit')) 
    { 
     $data = array(
       'enq_id'=> $this->input->post('ids'), 
       'status' => $this->input->post('status'), 
       'follow_up_date' => date('d-m-Y') 
       ); 
     $query = $this->db->insert('enq_process',$data); 
     if($query == true) 
     { 
      echo "<p style='color:green;font-size:12px;text-align:center;'>Your data successfully save.</p>"; 
     } 
     else 
     { 
      echo "<p style='color:red;font-size:12px;text-align:center;'>Error!</p>"; 
     } 
    } 
?> 

我有一個具有形式的輸入字段名稱(IDS,狀態)與提交按鈕。現在,我將表單數據插入到數據庫中,現在我想從第一次插入數據的時候開始,然後如何更新第二次同樣的表單數據?

+0

使用 - >更新而不是插入。下面是一個例子:https://stackoverflow.com/a/13895507/1436032 – MJoraid

+0

可能重複[更新記錄codeigniter](https://stackoverflow.com/questions/13895098/updating-records-codeigniter) –

回答

0

$ this-> db-> insert_id()將返回最後插入的行ID,因此您可以將此ID用於下一個查詢。

0

嗨,你可以使用以下方式:首先檢查數據庫表中是否存在數據的條件。如果存在,那麼更新其他插入數據

if(post request){ 
    Step 1 : Check whether enqid along with some condtion is already present or not in database table 

    Step 2: 
     if (exists) { 
      UPDATE 
     } else { 
      INSERT 
     } 

} 
0

試試這個

$q = $this->db->get('enq_process'); 

    if ($q->num_rows() > 0) 
    { 
     $this->db->where('ids',$data['enq_id']); 
     $this->db->update('enq_process',$data); 
    } else { 

     $this->db->insert('enq_process',$data); 
    } 
+0

我的數據庫是首先我想插入數據,然後更新到具有共同ID的特定行,即enq_id。 – omkara

+0

你想添加多行?你有單獨的頁面插入和更新? –

+0

不,我沒有單獨的頁面插入和更新我正在使用單個頁面。 – omkara

0

在同一個控制器

public function insert_or_update($table='', $data=array()){ 
    $seprator=" "; 
    $update=""; 
    foreach ($data as $feild => $value) { 
    $update.=$seprator."`$feild`='$value'"; 
    $seprator=', '; 
    } 
    $sql = $this->db->insert_string('table', $data) . ' ON DUPLICATE KEY UPDATE '.$update; 
    if($this->db->query($sql)){ 
    return $this->db->insert_id(); 
    }else{ 
    return false; 
    } 
} 

做出新的功能,並在控制器中使用此功能

if($this->input->post('submit')) 
    { 
     $data = array(
       'enq_id'=> $this->input->post('ids'), 
       'status' => $this->input->post('status'), 
       'follow_up_date' => date('d-m-Y') 
       ); 
     $query = $this->insert_or_update('enq_process',$data); 
     if($query == true) 
     { 
      echo "<p style='color:green;font-size:12px;text-align:center;'>Your data successfully save.</p>"; 
     } 
     else 
     { 
      echo "<p style='color:red;font-size:12px;text-align:center;'>Error!</p>"; 
     } 
    } 
相關問題