Php Codeigniter教程删除Post不';行不通
在完成用户指南后,我遇到了一个问题,这是我在过去两个小时里强迫解决的。我正在尝试添加功能以删除一篇由ID选择的帖子,我是PHP新手,无法找到任何解决问题的方法: 控制器Php Codeigniter教程删除Post不';行不通,php,codeigniter,Php,Codeigniter,在完成用户指南后,我遇到了一个问题,这是我在过去两个小时里强迫解决的。我正在尝试添加功能以删除一篇由ID选择的帖子,我是PHP新手,无法找到任何解决问题的方法: 控制器 public function delete($id){ $id = $this->uri->segment(3); $data['title'] = 'Delete an item'; if($this->news_model->delete_news($id)){
public function delete($id){
$id = $this->uri->segment(3);
$data['title'] = 'Delete an item';
if($this->news_model->delete_news($id)){
$this->load->view('templates/header', $data);
$this->load->view('news/success');
$this->load->view('templates/footer');
}else{
}
}
模型
public function delete_news($id){
$this->db->where('id',$id)->delete('news');
return $this->db->affected_rows();
}
路由
$route['news/delete/(:num)'] = 'news/delete/$1';
我从索引页面调用该函数,在该页面中,所有帖子都显示有一个锚:
<p><a href="<?php echo site_url('news/delete/'.$news_item['id'])?>">Delete article</a></p>
它会调用正确的URL(http://localhost/webapp/index.php/news/delete/2)它应该正确执行并从我的新闻表中删除ID为2的帖子
我真的不明白错误在哪里,但是通过执行这个,我得到了一个404。
我做错了什么 在您的函数delete中,我看不到您加载了news\u模型。如果不是自动加载,这可能就是问题所在。也许,首先通过插入以下内容验证控制器是否正在与模型对话:
echo 'Hello Model';
在新闻模型的“删除新闻”功能中
编辑:
而不是
if($this->news_model->delete_news($id)){
//conditions
}
及
让您的模型根据其执行情况发送T/F。这将告诉我们错误是否在SQL中。通过无论如何返回TRUE,我们将看到该模型函数是否运行:
return TRUE;
尝试添加步骤(用于错误检查)
和404-我也怀疑这是一个路由问题。我也来看看。我的模型是由构造函数加载的:$this->load->model('news_model');你并没有解决我的问题,但至少你告诉我要检查什么,这让我非常高兴!谢谢你!这到底是一个路由问题吗?只是好奇:)这确实是一个路由问题!
$del = $this->news_model->delete_news($id);
echo 'del';
if($del == TRUE){
//conditions
}