0

我正在尝试使用我为大学创建的社交网站的 MVC Codeigniter 框架从我的数据库中的“消息”表中删除消息。我的数据库中的“消息”表中有 4 个字段 - id、to、from 和 message。我遇到了障碍 - 代码正在从“消息”表中删除所有行。我只想一次删除一行(消息)。尽管所有消息都被删除了——它会抛出一个错误:消息:未定义的变量:用户名——我应该传递“用户名”吗?- 任何帮助将非常感激。

This is the function in my Controller:

function delMessage($username) {
    $this->load->model('messages');
    $data['messages'] = $this->messages->deleteUserMessage($username);
    $this->load->view('message', $data);
}

This is the function in my Model:

function deleteUserMessage($username) {
    $this->db->where('from', $username);
    $this->db->or_where('to', $username); 
    $query = $this->db->get('messages');
    if ($query->num_rows() > 0){
        $messages = $query->result_array();
        $this->db->where('from', $username);
        $this->db->or_where('to', $username); 
        $this->db->delete('messages');
        return $messages;
    }
}

This is the code in my view:

  <?php foreach($messages as $message): ?>

          <li><?=$message['from']?> says...: "<?=$message['message']?>"<br/><?=anchor("message/delMessage/$username", 'Delete Message')?></li>      
         <?php endforeach?>
4

1 回答 1

0

你的模型应该是这样的,

function deleteUserMessage($username) {
    $this->db->where('from', $username);
    $this->db->or_where('to', $username); 
    $query = $this->db->delete('messages');
    if($query) {
        return true;
    }
}
于 2013-02-01T11:39:22.657 回答