0

ユーザーが友達から受信したメッセージを1つずつ削除できる機能をアプリケーションに追加するために追加しています。メッセージモデルにdeleteMessage関数を追加しました。次に、ホームコントローラーの削除関数内でこれを呼び出します。ホームビューでは、「削除」を押すことでメッセージを削除できるはずです。現時点では何も起こりません。これにより、メッセージデータベースに残っているこの特定のメッセージも削除されます。dbテーブルには、from、to、およびmessageのフィールドが保持されます。助けてくれてありがとう

私のホームコントローラー:

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>
4

0 に答える 0