0

大学向けに作成しているソーシャルネットワーキングサイトの MVC Codeigniter フレームワークを使用して、データベースの「メッセージ」テーブルからメッセージを削除しようとしています。データベースの「メッセージ」テーブルに、id、to、from、および message の 4 つのフィールドがあります。問題が発生しました。コードが「メッセージ」テーブルからすべての行を削除しています。一度に 1 つの行 (メッセージ) を削除したいだけです。すべてのメッセージは削除されますが、次のエラーがスローされます: Message: Undefined variable: username - should I be passed "username" through? - どんな助けでも大歓迎です。

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 に答える