我已经重新提出问题以帮助我获得具体答案,对不起,如果我的上一个问题令人困惑:
我在尝试从数据库中删除行时遇到问题,但也包含如何取消链接到不同位置的图像的问题。我无法删除要删除的行或取消链接的图像。
这是我的 - > db structure
我的图片位置为:
fullpath = /includes/uploads/gallery/
thumbpath = /includes/uploads/gallery/thumbs/
理想情况:
我的理想情况是,当点击删除链接时,它将在索引功能中运行该功能,然后使用成功消息重新加载同一页面 - >我没能成功地让他们上班。
我的代码:
型号:
function deleteImage($id,$path){
$this->db->delete('images', array('id' => $id));
if($this->db->affected_rows() >= 1) {
if(unlink($path)
return TRUE;
} else{
return FALSE;
}
}
查看:
<?php if(is_array($get_images)): ?>
<?php foreach($get_images as $image): ?>
<img src ="<?=base_url()?>includes/uploads/gallery/thumbs/<?=$image->thumbpath?>" alt="<?= $image->description?>"> <a href="deleteimage/delete/<?=$image->id?>">Delete</a>
<?php endforeach; ?>
<?php endif; ?>
控制器:
function index() {
if(!$this->session->userdata('logged_in')) {
redirect('admin/home');
}
// Main Page Data
$page['get_images'] = $this->image_model->getImages();
$data['cms_pages'] = $this->navigation_model->getCMSPages();
$data['title'] = 'Delete Gallery Image';
$data['content'] = $this->load->view('admin/deleteimage',$page,TRUE);
$this->load->view('admintemplate', $data);
}
答案 0 :(得分:2)
如果您正在使用有效记录,那么您正在寻找的是:
$这 - &GT; DB-&GT;删除();
现在从内存开始,如果发生错误,它将仅返回false,因此将不断返回true。但是我们可以使用另一个函数来检查行是否被删除了。
哦,您还需要将要删除的文件的路径传递给函数。
function deleteImage($id,$path) {
$this->db->delete('table', array('id' => $id));
if($this->db->affected_rows() >= 1){
if(unlink($path))
return TRUE;
} else {
return FALSE;
}
}
答案 1 :(得分:2)
function delete_data($record_id)
{
$query = $this->db->get_where('projukti_committee',array('record_id' => $record_id));
if( $query->num_rows() > 0 )
{
$row = $query->row();
$picture = $row->picture;
unlink(realpath('assets/photo/'.$picture));
$this->db->delete('projukti_committee', array('record_id' => $record_id));
return true;
}
return false;
}
答案 2 :(得分:1)
据推测,您有某种形象ID。
将ID附加到deleteimage/delete
URI。
创建一个从表中删除ID的方法,并使用PHP的unlink($path)
函数实际删除图像。