【问题标题】:how to delete a single semicolon separated value from database in Codeigniter如何在 Codeigniter 中从数据库中删除单个分号分隔的值
【发布时间】:2016-12-23 06:22:37
【问题描述】:

我的数据库表如下,表名是add_family

id    ,   Head_id   ,Head_Name   , CustomerName    customer_id                   
1     ,   2589      ,   Mitesh   ,  anuj^anil   ,  456^259  
2     ,    2590     ,  vijay     ,  amit^ajay   ,  852^454  

如果我想删除任何客户名称及其 ID,那么如何在 CodeIgniter 中删除它?例如,如果我只想删除 CustomerName Anuj 和他的 customer_id 456,其中 Head_id 是 2586,

如何删除?

【问题讨论】:

  • 未删除,您应该更新它

标签: codeigniter sql-delete


【解决方案1】:

你应该做的是使用查询构建器类并加载数据库库。

这是来自官方docs的示例:

$data = array(
        'CustomerName' => 'anil',//or NULL if you want to 'delete it'
        'customer_id' => '259'//or NULL if you want to 'delete it'
);

$this->db->where('Head_id', 2586);
$this->db->update('add_family', $data);

如果你想动态地做它并且你总是想要^之后的部分,你可以使用phpexplode这样的函数:

$this->db->select('CustomerName, customer_id');
$this->db->where('Head_id', 2586); 
$query = $this->db->get('add_family');
$result = $query->row_array(); 

$data = array(
            'CustomerName' => explode('^', $result['CustomerName'])[1],
            'customer_id' => explode('^', $result['customer_id'])[1]
    );

$this->db->where('Head_id', 2586);
$this->db->update('add_family', $data);

请注意,如果表的 ID 是主键,则不应更新它。

【讨论】:

    【解决方案2】:

    试试这样的。想法是从两个字段的数据库中获取值并用空字符串替换客户名称

    $query = $this->db->get_where('add_family',array('id'=>1));
    $name = str_replace("anuj","", $query['CustomerName']);
    $id = str_replace(456, "", $query['customer_id ']);
    
    $data = array(
            'CustomerName' => $name,//or NULL
            'customer_id' => $id//or NULL
    );
    
    $this->db->where('Head_id', 2586);
    $this->db->update('add_family', $data);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多