【问题标题】:Codeigniter : delete from 2 tables and image from folderCodeigniter:从 2 个表中删除并从文件夹中删除图像
【发布时间】:2016-04-29 10:19:45
【问题描述】:

我有 2 个表 penggunadosen,我要做的就是从 2 个表中删除,也从上传的图像所在的文件夹中删除图像,但我能做的只是从 2 个表中删除数据,但是我无法删除已上传的图片,下面是我的代码。

控制器

public function delete($id){
    unlink('assets/img/dosen/'.$result->foto_dosen);
    $this->db->delete('dosen',array('id_pengguna'=>$id));
    $this->db->delete('pengguna',array('id_pengguna'=>$id));
    redirect(site_url('dosen/data?balasan=2')); 
}

型号

function delete($cond){
    $this->db->where($cond);
    $query = $this->db->delete('dosen');
    return $query;
    //DELETE FROM dosen WHERE id=$id
}

查看

<a class="del btn-floating red tooltipped" href="<?php echo site_url('dosen/delete/'.$result->id_pengguna.''); ?>" class="material-icons" onclick="return confirm('Hapus Dosen?')" data-tooltip="Hapus Dosen" data-delay="1"><i class="material-icons left">clear</i></a>

【问题讨论】:

  • echo $result-&gt;foto_dosen; 就在 unlink 函数上方并检查 foto_dosen 是否存在???
  • 对不起,我没有真正明白你的意思,这是我删除的全部代码,没有其他代码行了
  • 这是我的整个控制器代码onedrive.live.com/…,看看删除功能,我做错了吗?
  • 我是说您的取消链接功能不起作用,因为您没有该图像的有效路径..所以这就是为什么我说要打印这个$result-&gt;foto_dosen;并检查它正在打印什么...
  • 我想我知道你的意思 $result-&gt;foto_dosen 无法识别,所以路径不存在,你的意思是这样吗?

标签: php jquery mysql codeigniter


【解决方案1】:

用这个替换你的函数:

public function delete($id)
{
    $query = $this->MDosen->read('dosen',array('id_pengguna'=>$id), null, null);
    foreach ($query->result_array() as $result) 
    {
        unlink('assets/img/dosen/'.$result['foto_dosen']);
    }
    $this->db->delete('dosen',array('id_pengguna'=>$id));
    $this->db->delete('pengguna',array('id_pengguna'=>$id));
    redirect(site_url('dosen/data?balasan=2')); 
}

【讨论】:

  • 嗯,它的工作原理如下:$query = $this-&gt;MDosen-&gt;get_where('dosen',array('id_pengguna'=&gt;$id)); get_where 而不是 read :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-19
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多