0

私は自分のサイトの自分のプロフィールページで機能するようにメッセージの削除ボタンを試してこれに取り組んでいました。友達が残したメッセージを削除すると、画面から削除されるだけでなく、データベースからも削除されます。データベース内のメッセージには、message_id、from、to、messageの4つのフィールドがあります。これが私の友達からのメッセージを削除する方法を示す私のプロフィールビューです:

       if(!empty($messages)){
       foreach($messages as $message):
       $delete = $message['message_id']; 
       //var_dump($message); ?>
      <li><?=$message['from']?> says...: "<?=$message['message']?>"(<?=anchor("home/deleteMsg/$delete", 'delete')?>)</li> //this is where the delete button appears beside messages left
     <?php endforeach?> 
      <?php }else{ ?>
     <?php echo 'No messages left yet !!!'; }?> 

これが私のコントローラーで、次のようなdeleteMsg関数を示しています。

function deleteMsg($messageid) 
         {

        $this->messages->deleteMsg($messageid);

        redirect('home');

         }

deleteMsgモデル自体を示すメッセージモデルは次のとおりです。

 function deleteMsg($message_id)
      {

        $this->db->where(array('message_id' => $message_id));
        $this->db->delete('messages');

      }

これが私のfriendprofileビューで、メッセージの削除コマンドを実装して、残したメッセージのボタンが表示され、メッセージを削除できるようにします。削除ボタンは、このページの他の友達のコメントの横には表示されません。

          <li><?=$message['from']?> says...: "<?=$message['message']?>"</li>      

これまでのところ、新しいメッセージ削除関数を作成しようとしましたが、成功しませんでした。同じ関数を呼び出すよりも、これを実行したほうがよいでしょうか。これもうまくいきませんでした。

4

1 に答える 1

1

CodeIgniter のプロファイリング設定を有効にすることをお勧めします。これにより、データベースで実行されたクエリを確認できるようになります。次のコードをコントローラーに貼り付けるだけです。

$this->output->enable_profiler(TRUE);
于 2012-12-05T11:14:25.640 に答える