2015-01-09 38 views
1

I want to store deleted records in Mysql database using Codeigniter如何存儲在MySQL數據庫中刪除記錄使用笨

在簡單的文字刪除數據庫中的記錄時,但我想刪除的記錄保存在其他表在我的數據庫 我在mysql數據庫add_news表在這表有6列ID,標題,新聞,圖像,出版日期,狀態

+0

的解決方案,我認爲easyest方式是重載這個函數/方法,它是用來刪除記錄,並把它添加備份功能。 – violator667

+1

如果你想刪除列不被刪除物理,爲什麼你沒有另一列「刪除」,而不是其他的。 – avisheks

回答

2

最後,我有這個問題

function delete_news($id) 
    { 

     $query = $this->db->query("INSERT INTO deleted_news (news_id,title,image,news,type,user_id,post_of_day,publish_date) SELECT id,title, image,news,type,user_id,post_of_day,publish_date FROM add_news WHERE id = $id"); 


     $query = $this->db->query("Delete from add_news where id = $id"); 


     //$this->db->last_query(); exit; 
     //print_r($this->db->last_query()); 
     ///die; 
     if($query) 
     { 
      return 1; 
     } 
     else 
     { 
      return 0; 
     } 
    } 
2
<?php 
$this->load->database(); 
$this->db->query('SELECT * FROM table WHERE id=$id'); 
$query=$this->db->get(); 
foreach ($query->result as $row){ 
     $columnname1 = $row->columnname1 
     $columnname2 = $row->columnname2 
     $columnname3 = $row->columnname3 
     $columnname4 = $row->columnname4 
     $columnname5 = $row->columnname5 
     $columnname6 = $row->columnname6 
     $array = array($columnname1,$columnname2,$columnname3,$columnname4,$columnname5,$columnname6); 
     $this->load->model('your insert to database model'); 
     $this->insert_model_name->model_function($array); 

     $this->load->model('your delete from database model'); 
     $this->delete_model_name->model_function($id); 

} 
?> 

我只是將假設你知道怎麼做了模型插入和刪除。此代碼還假定您使用ID來選擇要刪除的列。但是既然你沒有給我們提供任何代碼來看看,我猜這是你遇到困難的邏輯。

+0

良好的整體解決方案,限制讀取和寫入我可能會將行標記爲已刪除,並在服務器活動較少時每天一次將其移動一次,而不是始終執行,但取決於用例。 – Patrick

相關問題