Php 为什么赢了';从我的主页删除朋友的消息?
我添加了一个功能,用户可以在我的应用程序中逐个删除从朋友那里收到的消息。我在消息模型中添加了deleteMessage函数。然后我在我的家庭控制器中的delete函数中调用它。在我的主视图中,我应该能够通过按“删除”来删除消息。目前什么也没发生。然后,这将删除消息数据库中为他们保留的特定信息。db表包含从、到和消息字段。再次感谢你的帮助 我的家庭控制器:Php 为什么赢了';从我的主页删除朋友的消息?,php,codeigniter,Php,Codeigniter,我添加了一个功能,用户可以在我的应用程序中逐个删除从朋友那里收到的消息。我在消息模型中添加了deleteMessage函数。然后我在我的家庭控制器中的delete函数中调用它。在我的主视图中,我应该能够通过按“删除”来删除消息。目前什么也没发生。然后,这将删除消息数据库中为他们保留的特定信息。db表包含从、到和消息字段。再次感谢你的帮助 我的家庭控制器: class Home extends CI_Controller { function Home() { parent::_
class Home extends CI_Controller
{
function Home()
{
parent::__construct();
$this->load->model('messages');
$this->load->model('friends');
$this->load->model("profiles");
}
function delete($message)
{
$username = $this->session->userdata('username');
$this->messages->deleteMessage($from, $to, $message);
redirect('home');
}
function index()
{
$username = $this->session->userdata('username');
$membername = $this->session->userdata('membername');
$viewData['membername'] = $membername;
$viewData['username'] = $username;
$viewData['following'] = $this->friends->getFollowing($username);
$viewData['followers'] = $this->friends->getFollowers($username);
$viewData['messages'] = $this->messages->getMessages($membername);
$viewData['friends'] = $this->friends->getFriends($username);
$this->load->view('shared/header');
$this->load->view('home/hometitle', $viewData);
$this->load->view('shared/nav');
$this->load->view('home/homeview', $viewData);
$this->load->view('shared/footer');
}
}
消息模型:
class Messages extends CI_Model
{
function Messages()
{
parent::__construct();
}
function deleteMessage($from, $to, $message)
{
$this->db->select('*')->from('messages')->where('from', $from)->where('to', $to)->where('message', $message);
$this->db->delete();
}
}
主视图:
<h2> Messages</h2>
<ul>
<?php foreach($messages as $message):?>
<li><?=$message['from']?> says...: "<?=$message['message']?>"(<?=anchor("home/delete/$message", 'delete')?>)</li>
<?php endforeach?>
</ul>
</div>
消息
- 说……:“”(
在delete
函数中,您的$from
和$to
变量从何而来,这些值不是未定义的吗?而且,看起来您可能正在将整个$message
数组放入删除URL中。你有可以使用的ID吗?好的,我已经将这些变量添加到delete函数中;它们也存在于模型中的deleteMessage函数中。好的,也许我可以将delete url更改为这个-但是这没有改变任何东西。那么delete函数就不会得到任何参数。我想你想要像
这样的东西。但是,从MVC的角度来看,通过message/delete/id
访问消息控制器的delete方法比在主控制器中放置delete方法更有意义(因为您没有删除主记录)@Hannah_B-我认为Tom的意思是,您应该为实际消息提供id
,而不是消息正文。