2013-07-09 133 views
0

這是我的表記錄:刪除與WHERE子句

id t_id  min  max  range  name 
1  2  2   6   2  Peter 
2  2  3   5   3  Leofer 
3  2  3   5   4  Josh 
4  2  3   5   5  Sonny 
5  2  2   6   6  Sammy 

我要刪除的記錄PeterSammy。此表中的所有內容都包含可變數據,因此使用列名稱將是最佳解決方案。

這裏是我到目前爲止的代碼:

for ($x = 0; $x <= sizeof($pick); $x++) 
{ 
     $where = ('pick_range' < $pick[$x] && 'pick_range' > $pick[$x]); 
     $this->db->select('*'); 
     $this->db->where('teaser_id',$first_page_data['teaser_id']); 
     $this->db->where('sb_id',$sbid); 
     $this->db->where('pick_range ', $where); 
     $query = $this->db->get('tbl_name'); 

     if($query->num_rows() == 1); 
     { 

     $this->db->where('pick_range',$where); 
     $this->db->where('teaser_id',$first_page_data['teaser_id']); 
     $query = $this->db->delete('tbl_name'); 

    } 

} 

是否有任何其他簡單的方法來做到這一點?

+0

如果你想刪除記錄peter和sammy,那麼爲什麼有一個循環和'$ pick'中有什麼? –

回答

1

你可以試試這個:

for ($x = 0; $x <= sizeof($pick); $x++) 
{ 
    $this->db->trans_start(); 
    $where = ('pick_range' < $pick[$x] && 'pick_range' > $pick[$x]); 
    //$this->db->select('*'); 
    $this->db->where('teaser_id',$first_page_data['teaser_id']); 
    $this->db->where('sb_id',$sbid); 
    $this->db->where('pick_range ', $where); 
    //$query = $this->db->get('tbl_name'); 

//if($query->num_rows() == 1); 
//{ 

    $this->db->where('pick_range',$where); 
    $this->db->where('teaser_id',$first_page_data['teaser_id']); 
    $this->db->delete('tbl_name'); 
    $this->db->trans_complete(); 
    return TRUE; 

//} 

} 

這將刪除該WHERE子句匹配的數據。

+0

非常感謝這對我有用。 – user2046410